-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathFrogImp.php
More file actions
61 lines (48 loc) · 1.65 KB
/
FrogImp.php
File metadata and controls
61 lines (48 loc) · 1.65 KB
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
<?php
/*
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).
*/
/**
* FrogJmp task.
*
* CODILITY ANALYSIS: https://codility.com/demo/results/training56G4RN-ZUE/
* LEVEL: EASY
* Correctness: 100%
* Performance: 100%
* Task score: 100%
*
* @param int $X Frog current position X
* @param int $Y Minimal ending position Y
* @param int $D Frog jump fixed distance, D
*
* @return int Minimal number of jumps from position X to a position equal to or greater than Y
*/
function solution($X, $Y, $D)
{
// Distance between end ($Y) and start ($X) position
$distance = $Y - $X;
// Number of jumps needed to reach or surpass end position
$jumps = (int) ceil($distance / $D);
return $jumps;
}