【LeetCode每日一题】2020.7.08 面试题 16.11. 跳水板

面试题 16.11. 跳水板(简单)

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

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

示例:

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

分析:

​ 一道非常简单的题,一次遍历即可。一个简单的公式(i * shorter + (k-i)*longer),唯一需要注意的是当shorter与longer相同时,只有一个答案。

代码(Golang):

func divingBoard(shorter int, longer int, k int) []int {
	if k == 0 {
		return []int{}
	}
	if shorter == longer {
		return []int{shorter * k}
	}
	var ans []int
	for i := 0; i <= k; i++ {
		ans = append(ans, i * longer + (k - i) * shorter)
	}
	return ans
}
原文地址:https://www.cnblogs.com/enmac/p/13267013.html