-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathFrogJmp.js
67 lines (51 loc) · 1.65 KB
/
FrogJmp.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
// 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:
// function solution(X, Y, 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.
// For example, given:
// X = 10
// Y = 85
// D = 30
// the function should return 3, because the frog will be positioned as follows:
// after the first jump, at position 10 + 30 = 40
// after the second jump, at position 10 + 30 + 30 = 70
// after the third jump, at position 10 + 30 + 30 + 30 = 100
// Assume that:
// X, Y and D are integers within the range [1..1,000,000,000];
// X ≤ Y.
// Complexity:
// expected worst-case time complexity is O(1);
// expected worst-case space complexity is O(1).
// Copyright 2009–2018 by Codility Limited. All Rights Reserved. Unauthorized copying, publication or disclosure prohibited.
// 33% //
// function solution(X, Y, D) {
// var newPos = X;
// var jumps = 0;
// do {
// jumps += 1;
// newPos += D;
// } while (newPos < Y);
// return jumps;
// }
// 44% //
function solution(X, Y, D) {
var newPos = X;
var jumps = 0;
while (newPos < Y) {
jumps += 1;
newPos += D;
};
return jumps;
}
// 44% //
// function solution(X, Y, D) {
// if (X < Y) {
// jumps += 1;
// X += D;
// solution(X,Y,D)
// }
// return jumps;
// }
// var jumps = 0;
console.log(solution(3,999111321,7));