美文网首页Codility每周一课
Codility每周一课:L3 Time Complexity(

Codility每周一课:L3 Time Complexity(

作者: AiFany | 来源:发表于2019-01-17 17:52 被阅读1次
QQ图片20190117113208.png

P3.1 FrogJmp
Count minimal number of jumps from position X to Y.

  • P3.1 青蛙跳
    从位置X跳到位置Y的最少次数

一只小青蛙想跳到路的另一边。青蛙目前位于位置X,想要到达大于或等于Y的位置。小青蛙每次总是跳跃一个固定的距离D。计算小青蛙为了达到目标需要的最少跳跃次数。

编写函数:

def solution(X, Y, 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处

假定:

  1. X、Y和D是[1,100000000]内的整数;
  2. X小于Y;
  • 解题思路

简单的数学除法计算。

  • Python3代码
# -*- coding:utf-8 -*-
# &Author  AnFany
# Lesson 3:Time Complexity
# P 3.1 FrogJump


def solution(X, Y, D):
    """
    每次跳跃D,从位置X到位置Y的最少的跳跃次数
    :param X: 起始位置
    :param Y: 目标位置
    :param D: 每次跳跃的距离
    :return: 最少次数
    """
    length = Y - X
    float_times = length / D
    int_times = int(float_times)
    if float_times > int_times:
        return int_times + 1
    else:
        return int_times
  • 结果

点击获得更多编程练习题。欢迎Follow,感谢Star!!! 扫描关注微信公众号pythonfan,获取更多。

image image

相关文章

网友评论

    本文标题:Codility每周一课:L3 Time Complexity(

    本文链接:https://www.haomeiwen.com/subject/tutwdqtx.html