LeetCode如何解决跳水板问题

这篇文章将为大家详细讲解有关LeetCode如何解决跳水板问题,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

创新互联公司是专业的敖汉网站建设公司,敖汉接单;提供网站设计制作、网站设计,网页设计,网站设计,建网站,PHP网站建设等专业做网站服务;采用PHP框架,可快速的进行敖汉网站开发网页制作和功能扩展;专业做搜索引擎喜爱的网站,专业的做网站团队,希望更多企业前来合作!

1

 题目描述

用两种尺寸的木板建造跳水板,尺寸分别为longer和shorter,一共使用k块,求可以得到的所有跳水板长度,并由小到大排序。如:shorter=1,longer=2,k=3,最后结果为[3,4,5,6]。

2

 题解

思路:数学计算一共使用k块木板,所以如果longer使用了i块,那么shorter就使用k-i块,基于这样的基本思路可知,本题可以在线性时间内完成,并且用的shorter块数越多,整体跳水板长度越短,因此在计算时shorter个使用个数从k开始逐次递减,可避免之后的排序操作。除上述基本情况外还要考虑两种特殊情况,一是当k=0,则返回空,二是当shorter=longer,则返回的结果为shorter*k(longer*k)。
class Solution:    def divingBoard(self, shorter: int, longer: int, k: int) -> List[int]:        s=[]        if k==0:            return s        for i in range(0,k+1):            s.append(longer*i+shorter*(-i+k))        s = list(set(s))        s.sort()        return s

关于“LeetCode如何解决跳水板问题”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。

本文题目:LeetCode如何解决跳水板问题
文章分享:https://www.cdcxhl.com/article46/ieoceg.html

成都网站建设公司_创新互联,为您提供建站公司用户体验营销型网站建设Google网页设计公司品牌网站制作

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联

绵阳服务器托管