I have tried to workout the Frog Jump task on Codility. The algorithm for solving this is rather simple but the maximum score I am able to achieve is 55% (also 44% with modulus operations).
A small frog wants to get to the other side of the road. The frog is currently located at position X and wants to get to a position greater than or equal to Y. The small frog always jumps a fixed distance, D.
Count the minimal number of jumps that the small frog must perform to reach its target.
Write a function: class Solution { public int solution(int X, int Y, int D); } that, given three integers X, Y and D, returns the minimal number of jumps from position X to a position equal to or greater than Y.
public static int solution(int X, int Y, int D) { int count = 0; //55% if (X == Y) { return 0; } else { while (X < Y) { X += D; count++; } return count; } }
I have read in a place that switch statements can outperform if conditions but couldn’t find a way to make a switch statement out of this, also tried to get the answer recursively, but was only able to put down the base case..
Appreciate hints, help, suggestions at what should I look for to be optimal with this method.