题目为 你正在使用一堆木板建造跳水板。有两种类型的木板,其中长度较短的木板长度为shorter,长度较长的木板长度为longer。你必须正好使用k块木板。编写一个方法,生成跳水板所有可能的长度。
返回的长度需要从小到大排列。
逻辑为,特殊条件判断k=0时,返回空数组。长短相等时,返回一个值就可以;代码如下
public int[] DivingBoard(int shorter, int longer, int k)
{
if (k==0)
{
return new int[] { };
}
if (shorter==longer&&k!=0)
{
return new int[] { k * shorter };
}
List<int> liRes = new List<int>();
for (int i = 0; i <= k; i++)
{
liRes.Add(i * longer + (k - i) * shorter);
}
return liRes.ToArray();
}