- 题目要求:
-
思路:
- 分为三种情况:
- 第一种情况,k = 0,也就是要使用0块木板,直接返回空数组即可
- 第二种情况,longer与shorter相同,那么只有唯一的解是
shorter * k
-
第三种情况,shorter与longer不相同,k也不为0
- 那么先把最小的结果
shorter * k
赋给遍历tmp,把tmp添加到结果数组中,tmp作为遍历的起点,把tmp - shorter + longer就是下一个结果,遍历的终点是当tmp等于longer * k
时,所有的结果就都在结果数组中了
- 那么先把最小的结果
- 核心代码:
res = []
if k == 0:
return res
if longer == shorter:
return [shorter * k]
tmp = shorter * k
res.append(tmp)
while tmp != longer * k:
tmp = tmp - shorter + longer
res.append(tmp)
return res
- 完整代码:
class Solution:
def divingBoard(self, shorter: int, longer: int, k: int) -> List[int]:
res = []
if k == 0:
return res
if longer == shorter:
return [shorter * k]
tmp = shorter * k
res.append(tmp)
while tmp != longer * k:
tmp = tmp - shorter + longer
res.append(tmp)
return res
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。