源地址
https://app.codility.com/programmers/lessons/3-time_complexity/frog_jmp/
FrogJmp(蛙跳)
一只小蛙要跳到对岸。现在的位置是X,要跳到一个大于或者等于Y的位置。每次跳的距离是固定值D。
计算小青蛙为了到达目的地所需的最小跳动次数。
写一个函数
class Solution {
public int solution(int X, int Y, int D);
}
给定三个整数X,Y,D,返回从X跳到大于等于Y的最小跳动次数。
比如
X=10
Y=85
D=30
方法应该返回3,因为青蛙的位置如下
- 在第一次蛙跳之后,在位置 10+30=40
- 在第二次蛙跳之后,在位置 10+30+30=70
- 在第三次蛙跳之后,在位置10+30+30+30=100
假设: - X,Y,D是在范围[1…1,000,000,000]中的整数
- X<=Y
第一步
仍然是一个取模的问题。
public int solution(int X, int Y, int D) {
int dis = Y - X;
int result = dis / D;
if (dis % D > 0) {
result = result + 1;
}
return result;
}