You may have seen Dragonite and Gyarados in gym battles many times since they have higher CP and nice moves with higher DPS. This page shows the best Pokemon to beat them to win a gym battle.
Low cost Seaking is easy to get and can use Ice-type move, Icy Wind. It evolves from Goldeen with 50 Candies.
Effective ice-type move against to Dragonite Although Ice-type moves are very effective against to Dragonite, Ice-type Pokemon is not easy to find and get. Therefore, you may bring Seaking into gym battles to defeat Dragonite.
Reducing damage of dragon-type moves Magneton is a steel-type Pokemon and cuts damage of Gyrados's dragon type moves such as Dragon Breath and Dragon Pulse.
Super effective electric-type moves While reducing damage of Gyarados's moves, Magneton's electric-type moves are super effective against it. Thunder Shock and Discharge is the best moveset for Magneton to beat Gyarados.