zoukankan      html  css  js  c++  java
  • 跳水板

    一,问题

    你正在使用一堆木板建造跳水板。有两种类型的木板,其中长度较短的木板长度为shorter,长度较长的木板长度为longer。你必须正好使用k块木板。编写一个方法,生成跳水板所有可能的长度。

    返回的长度需要从小到大排列。

    例如,shorter=1 longer=3 k=3

    输出{3,5,7,9}

    二,分析

    两块木板,抽三块,怎么抽?

    1,先抽三块shorter:3=1+1+1

    2,之后用一个longer替换掉一个shorter:5=1+1+3

    3,再用两个longer替换掉两个shorter:7=1+3+3

    4,最后用三个longer替换掉三个shorter:9=3+3+3

    可以看到,最终的结果{3,5,7,9}是一个等差数列,公差为 longer-shorter,也即3-1=2

    输出为{shorter*k,shorter*k+(longer-shorter), 。。。,longer*k }

    三,代码

    class Solution(object):
        def divingBoard(self, shorter, longer, k):
            if k==0:
                return []
            elif shorter==longer:
                return [k*longer]
            return range(shorter*k,longer*k+1,(longer-shorter))
  • 相关阅读:
    cuda cdnn 安装
    神经网络的例子
    理解pytorch几个高级选择函数(如gather)
    opencv 膨胀和腐蚀
    PyPDF2
    百度ocr
    opencv 代码集合
    tesseract cuda pytorch安装
    Vue路由钩子 afterEach beforeEach区别
    (转载)中文区位码、国标码、机内码、输入码、字形码
  • 原文地址:https://www.cnblogs.com/buyaodong/p/13269241.html
Copyright © 2011-2022 走看看