這篇文章將為大家詳細講解有關LeetCode如何解決跳水板問題,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。
創(chuàng)新互聯(lián)公司是專業(yè)的敖漢網(wǎng)站建設公司,敖漢接單;提供網(wǎng)站設計制作、網(wǎng)站設計,網(wǎng)頁設計,網(wǎng)站設計,建網(wǎng)站,PHP網(wǎng)站建設等專業(yè)做網(wǎng)站服務;采用PHP框架,可快速的進行敖漢網(wǎng)站開發(fā)網(wǎng)頁制作和功能擴展;專業(yè)做搜索引擎喜愛的網(wǎng)站,專業(yè)的做網(wǎng)站團隊,希望更多企業(yè)前來合作!
1
題目描述
用兩種尺寸的木板建造跳水板,尺寸分別為longer和shorter,一共使用k塊,求可以得到的所有跳水板長度,并由小到大排序。如:shorter=1,longer=2,k=3,最后結果為[3,4,5,6]。
2
題解
思路:數(shù)學計算一共使用k塊木板,所以如果longer使用了i塊,那么shorter就使用k-i塊,基于這樣的基本思路可知,本題可以在線性時間內(nèi)完成,并且用的shorter塊數(shù)越多,整體跳水板長度越短,因此在計算時shorter個使用個數(shù)從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如何解決跳水板問題”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。
本文題目:LeetCode如何解決跳水板問題
文章分享:http://www.chinadenli.net/article46/ieoceg.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供建站公司、用戶體驗、營銷型網(wǎng)站建設、Google、網(wǎng)頁設計公司、品牌網(wǎng)站制作
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉載內(nèi)容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)