Tuesday, December 12, 2023

Frog Jump (A problem of time complexity. Level: Easy)

Frog Jump: Count minimal number of jumps from position X to Y.

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:

def 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.

Write an efficient algorithm for the following assumptions:

X, Y and D are integers within the range [1..1,000,000,000];

X ≤ Y.

Example

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

Code

import math

def solution(X, Y, D):
    # Implement your solution here
    return math.ceil((Y-X)/D)  

Test Cases

Correctness tests

simple1

simple test

simple2

extreme_position

no jump needed

small_extreme_jump

one big jump

Performance tests

many_jump1

many jumps, D = 2

many_jump2

many jumps, D = 99

many_jump3

many jumps, D = 1283

big_extreme_jump

maximal number of jumps

small_jumps

many small jumps

No comments:

Post a Comment