Painless
FrogJmp
タスクの説明
小さなカエルが道の反対側に行きたがっています。 カエルは現在位置Xにあり、Y以上の位置に到達したいと考えています。小さなカエルは常に一定の距離Dをジャンプします。
小さなカエルが目標に到達するために実行しなければならないジャンプの最小数を数えます。
関数を書く:
class Solution {public int solution(int X、int Y、int D); }
これは、3つの整数X、Y、およびDが与えられた場合、位置XからY以上の位置へのジャンプの最小数を返します。
たとえば、次のようになります。
X = 10
Y = 85
D = 30
カエルは次のように配置されるため、関数は3を返す必要があります。
- 最初のジャンプの後、位置10 + 30 = 40
- 2回目のジャンプの後、位置10 + 30 + 30 = 70
- 3回目のジャンプの後、位置10 + 30 + 30 + 30 = 100
次の仮定のための効率的なアルゴリズムを記述します。
- X、Y、およびDは、[1..1,000,000,000]の範囲内の整数です。
- X≤Y。
解く
Program
FrogJmpSolution.java
public int solution(int X, int Y, int D) {
return (int) Math.ceil ((double) (Y - X) / D);
}
Detected time complexity:
O(1)
jUnit
Report
Candidate Report: trainingBFBAZF-EXF