+关注
已关注

分类  

暂无分类

标签  

暂无标签

日期归档  

2019-07(2)

2019-08(106)

2019-09(110)

2019-10(14)

2019-11(8)

Leetcode:面试题 16.11. 跳水板

发布于2020-07-09 13:30     阅读(570)     评论(0)     点赞(22)     收藏(4)


0

1

2

3

4

5

题目

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

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

示例:

输入:
shorter = 1
longer = 2
k = 3
输出: {3,4,5,6}
提示:

0 < shorter <= longer
0 <= k <= 100000

链接:https://leetcode-cn.com/problems/diving-board-lcci

解题记录

  • 只有两种板子,可能性有
  • 如果长短相同的话只有一种情况
  • 如果不同的话,那么短木板选取有0~k个情况
/**
 * @author ffzs
 * @describe
 * @date 2020/7/8
 */
public class Solution {
    public int[] divingBoard(int shorter, int longer, int k) {
        if (k == 0) return new int[0];
        if (shorter == longer) return new int[]{shorter*k};
        int[] res = new int[k+1];
        for (int i = 0; i <= k; ++i) {
            res[i] = shorter*(k-i) + longer*i;
        }
        return res;
    }
}

在这里插入图片描述

python一行解题

class Solution:
    def divingBoard(self, shorter: int, longer: int, k: int) -> List[int]:
        return [] if k==0 else[shorter*k] if shorter==longer  else [shorter*(k-i)+longer*i  for i in range(k+1)]

在这里插入图片描述

0

1

2

3

4

5



所属网站分类: 技术文章 > 博客

作者:9384vfnv

链接: https://www.pythonheidong.com/blog/article/440933/984bf971ecf9184a4931/

来源: python黑洞网

任何形式的转载都请注明出处,如有侵权 一经发现 必将追究其法律责任

22 0
收藏该文
已收藏

评论内容:(最多支持255个字符)