当前位置: 首页 > 后端技术 > Python

Leetcode面试题16.11,跳水板Python实现

时间:2023-03-25 20:15:50 Python

题目要求:思路:一共有三种情况:第一种情况,k=0,即使用0块板,直接返回一个空数组即可第二种情况,长和短一样,那么唯一的解决方案是更短的*k。第三种情况,shorter和longer不一样,k不为0。那么先把最小的结果shorter*k赋值给遍历tmp,把tmp加到结果数组中,以tmp为起点tmp-shorter+longer为下一个结果,遍历结束为tmp等于longer*k时,所有结果都在result数组中。核心代码:res=[]ifk==0:returnresiflonger==shorter:return[shorter*k]tmp=shorter*kres.append(tmp)whiletmp!=longer*k:tmp=tmp-shorter+更长的res.append(tmp)returnres完整代码:类解决方案:defdivingBoard(self,shorter:int,longer:int,k:int)->List[int]:res=[]ifk==0:returnresiflonger==shorter:return[shorter*k]tmp=shorter*kres.append(tmp)whiletmp!=longer*k:tmp=tmp-shorter+longerres.append(tmp)返回res