你正在使用一堆木板建造跳水板。有两种类型的木板,其中长度较短的木板长度为 shorter,长度较长的木板长度为 longer。你必须正好使用 k 块木板。编写一个方法,生成跳水板所有可能的长度。
返回的长度需要从小到大排列。
:::info
示例:
输入:
shorter = 1
longer = 2
k = 3
输出: {3,4,5,6}
提示:
0 < shorter <= longer
0 <= k <= 100000
:::
链接:https://leetcode-cn.com/problems/diving-board-lcci
思路
设使用短木板的数量为_i_,则有k-i个长木板,所以让_i_在[0,k]做一次遍历,记录结果即可。
但与此同时,也要注意k为 0 与 短长木板的长度相等的情况。
var divingBoard = function(shorter, longer, k) {if (!k) return [];if (shorter === longer) return [shorter*k];const res = [];for (let i = k; i >= 0; i--) {let sum = i * shorter + (k-i) * longer;res.push(sum);}return res;};
