亚洲精品中文免费|亚洲日韩中文字幕制服|久久精品亚洲免费|一本之道久久免费

      
      

            <dl id="hur0q"><div id="hur0q"></div></dl>

                leetcode2311_go_小于等于K的最長二進制子序列

                leetcode2311_go_小于等于K的最長二進制子序列

                題目

                給你一個二進制字符串 s 和一個正整數(shù) k 。

                請你返回 s 的 最長序列,且該子序列對應的 二進制 數(shù)字小于等于 k 。

                注意:子序列可以有 前導 0 。 空字符串視為 0 。

                子序列 是指從一個字符串中刪除零個或者多個字符后,不改變順序得到的剩余字符序列。

                示例 1:輸入:s = “1001010”, k = 5 輸出:5

                解釋:s 中小于等于 5 的最長子序列是 “00010” ,對應的十進制數(shù)字是 2 。

                注意 “00100” 和 “00101” 也是可行的最長子序列,十進制分別對應 4 和 5 。

                最長子序列的長度為 5 ,所以返回 5 。

                示例 2:輸入:s = “00101001”, k = 1 輸出:6

                解釋:”000001″ 是 s 中小于等于 1 的最長子序列,對應的十進制數(shù)字是 1 。

                最長子序列的長度為 6 ,所以返回 6 。

                提示:1 <= s.length <= 1000

                s[i] 要么是 ‘0’ ,要么是 ‘1’ 。

                1 <= k <= 109

                解題思路分析

                1、貪心;時間復雜度O(n),空間復雜度O(1)

                func longestSubsequence(s string, k int) int { res := 0 sum, bitValue := int64(0), int64(1) target := int64(k) for i := len(s) – 1; i >= 0; i– { if s[i] == ‘0’ { // 0全部加上 res++ } else if sum <= target { sum = sum + bitValue if sum <= target { // 小于<=k加上 res++ } } if sum <= target && bitValue <= target { bitValue = bitValue * 2 } } return res}

                2、貪心;時間復雜度O(n),空間復雜度O(1)

                func longestSubsequence(s string, k int) int { res := 0 sum, bitValue := 0, 1 for i := len(s) – 1; i >= 0; i– { if s[i] == ‘0’ { // 0全部加上 res++ } else { if sum+bitValue <= k { res++ sum = sum + bitValue } } if bitValue <= k { bitValue = bitValue * 2 } } return res}

                總結(jié)

                Medium題目,使用貪心思想

                鄭重聲明:本文內(nèi)容及圖片均整理自互聯(lián)網(wǎng),不代表本站立場,版權(quán)歸原作者所有,如有侵權(quán)請聯(lián)系管理員(admin#wlmqw.com)刪除。
                用戶投稿
                上一篇 2022年6月27日 21:09
                下一篇 2022年6月27日 21:10

                相關(guān)推薦

                • 寶可夢朱紫寶主順序怎么選擇?寶可夢朱紫寶主挑戰(zhàn)順序攻略

                  寶可夢朱紫寶主順序如何選擇?寶主挑戰(zhàn)的順序有很多玩家都加入了討論,大家想要了解清楚正確的挑戰(zhàn)順序,接下來小編就給大家簡單的介紹一下寶主挑戰(zhàn)的順序,各位趕緊通過下面的攻略多了解一下詳…

                  2022年11月25日
                • 寶可夢朱紫道館及寶主攻略順序是什么 道館及寶主攻略順序匯總

                  作為寶可夢資深愛好者,小伙伴們對寶可夢朱紫里面的所有道館恨不得馬上跳過,當場就來挑戰(zhàn)地區(qū)冠軍,但這顯然是不可能的,你得按照游戲里面遇到的順序來進行挑戰(zhàn)。那么具體的挑戰(zhàn)順序是什么樣的…

                  2022年11月24日
                • 《羊了個羊》游戲攻略11月9日 11月9日通關(guān)技巧

                  11月9日羊了個羊有新的關(guān)卡,今天的新關(guān)卡難度不高比較容易過關(guān),許多小伙伴想知道11月9日的羊了個羊該怎么通關(guān)?下面就讓小編為大家分享一下羊了個羊11.9的每日一關(guān)通關(guān)技巧,一起來…

                  2022年11月9日
                • 王者榮耀giba什么意思

                  這個地方的OJ即Online Judge,國內(nèi)的話一般是學校用來做教學用途或者比賽用的,里面有大量的題目,也有不少ACM的經(jīng)典題目 eTQ9jxRUFpftYe83gQxERg。 …

                  2022年11月9日
                • sku編碼一般寫什么(sku編碼是什么意思)

                  SKU(stock keeping unit),即庫存管理單元,是分配給產(chǎn)品的唯一的數(shù)字或字母數(shù)字代碼,以便企業(yè)更容易、更有效地管理庫存。大多數(shù)SKU數(shù)字在8個到12個字符之間,并…

                  2022年11月1日
                • 微信第二扣款順序在哪設置(微信支付順序設置方法)

                  我們在使用微信支付的時候,經(jīng)常遇到支付順序的問題,就是扣款渠道的順序,有零錢、銀行卡等多種不同的支付扣款方式。 也許系統(tǒng)自動設置的或者以前設置的不符合現(xiàn)在的習慣,那么我們應該怎么去…

                  2022年10月31日
                • 李治為什么娶自己的媽媽(李世民傳位于哪位皇子)

                  太子李承乾,曾經(jīng)是唐太宗李世民非常看重的兒子。 小時候的他,聰明可愛,上進好學,讓大臣們連連贊揚,讓李世民頗為驕傲。 同時又因為是嫡長子,八歲時,就被李世民立為太子。 可是隨著慢慢…

                  2022年10月29日
                • 《羊了個羊》游戲攻略10月28日 10月28日怎么通關(guān)技巧

                  10月28日羊了個羊有新的關(guān)卡,今天的新關(guān)卡難度不高比較容易過關(guān),許多小伙伴想知道10月28日的羊了個羊該怎么通關(guān)?下面就讓小編為大家分享一下羊了個羊10.28的每日一關(guān)通關(guān)技巧,…

                  2022年10月28日
                • 《羊了個羊》游戲攻略10月26日 10月26日通關(guān)攻略

                  10月26日羊了個羊有新的關(guān)卡,今天的新關(guān)卡難度不高比較容易過關(guān),許多小伙伴想知道10月26日的羊了個羊該怎么通關(guān)?下面就讓小編為大家分享一下羊了個羊10.26的每日一關(guān)通關(guān)技巧,…

                  2022年10月26日
                • 商貸可以辦理公積金按月對沖嗎 剩余錢可以取出嗎?

                  在如今,辦理公積金按月對沖還房貸的人很多,每個月可以減輕還款的壓力,而有的人申請的是商業(yè)貸款,那么商貸可以辦理公積金按月對沖嗎?下文就來帶大家了解一下。 商貸是可以辦理公積金按月對…

                  2022年10月20日

                聯(lián)系我們

                聯(lián)系郵箱:admin#wlmqw.com
                工作時間:周一至周五,10:30-18:30,節(jié)假日休息