付費限定

滑動窗口應用: 連續為一的最長子陣列_Leetcode #1004 精選75題

更新於 2024/03/07閱讀時間約 3 分鐘

題目敘述

題目會給定一個二元陣列nums(也就是說,陣列元素只有0,1這兩種情況)和指定的k值。

我們最多可以把k個0反轉成1,請問連續為一的最長子陣列的長度是多少?


題目的原文敘述

測試範例

Example 1:

Input: nums = [1,1,1,0,0,0,1,1,1,1,0], k = 2
Output: 6
Explanation: [1,1,1,0,0,1,1,1,1,1,1]
Bolded numbers were flipped from 0 to 1. The longest subarray is underlined.

Example 2:

Input: nums = [0,0,1,1,0,0,1,1,1,0,1,1,0,0,0,1,1,1,1], k = 3
Output: 10
Explanation: [0,0,1,1,1,1,1,1,1,1,1,1,0,0,0,1,1,1,1]
Bolded numbers were flipped from 0 to 1. The longest subarray is underlined.

約束條件

Constraints:

  • 1 <= nums.length <= 10^5

陣列nums的長度介於1~10^5之間。

  • nums[i] is either 0 or 1.

陣列元素只有可能是0或1。

  • 0 <= k <= nums.length

k值介於0~陣列nums的長度之間。


演算法

關鍵在於題目的要求是子陣列,而不是子序列。

子陣列一定要求必須連續。因此,最適合的演算法框架為滑動窗口sliding window

題目說我們最多可以把k個0翻轉成1。

接著建立一個起始點從0開始的滑動窗口,依序從左向右滑動

遇到1,right窗口右邊界直接往前延伸。

遇到0,假如k值還有剩餘,就把現在這個0翻轉成1。

假如k值已經<0,代表已經用完所有的反轉次數,這時候必須收縮窗口的左邊界left。


以行動支持創作者!付費即可解鎖
本篇內容共 1479 字、1 則留言,僅發佈於Leetcode精選75題 解析+統整你目前無法檢視以下內容,可能因為尚未登入,或沒有該房間的查看權限。
avatar-img
90會員
425內容數
由有業界實戰經驗的演算法工程師, 手把手教你建立解題的框架, 一步步寫出高效、清晰易懂的解題答案。 著重在讓讀者啟發思考、理解演算法,熟悉常見的演算法模板。 深入淺出地介紹題目背後所使用的演算法意義,融會貫通演算法與資料結構的應用。 在幾個經典的題目融入一道題目的多種解法,或者同一招解不同的題目,擴展廣度,並加深印象。
留言0
查看全部
avatar-img
發表第一個留言支持創作者!
題目敘述 題目會給定一個字串s,和指定長度k,問我們包含母音的子字串中,母音數量的最大值是多少? 題目的原文敘述 測試範例 Example 1: Input: s = "abciiidef", k = 3 Output: 3 Explanation: The substring "iii
題目敘述 題目會給定一個有n個整數的陣列nums和指定的k值,問我們長度為k的子陣列的平均值的最大值是多少? 題目的原文敘述 測試範例 Example 1: Input: nums = [1,12,-5,-6,50,3], k = 4 Output: 12.75000 Explanati
題目敘述 題目會給定我們一個整數陣列nums,我們每回合可以挑選總和為K的兩個數字,形成一個K-Sum pair。 請問我們最多可以製造幾個K-Sum pair? 題目的原文敘述 測試範例 Example 1: Input: nums = [1,2,3,4], k = 5 Output
題目敘述 題目會給定我們一個整數陣列nums,要求我們把裡面的0做元素交換,把0都搬到陣列的右邊。題目要求必須in-place在原本的陣列裡面做操作,不可以額外建立新的陣列。 題目的原文敘述 測試範例 Example 1: Input: nums = [0,1,0,3,12] Outpu
題目敘述 題目會給我們一個輸入陣列nums,要求我們判斷輸入陣列nums內部是否存在長度為三的遞增子序列? 題目的原文敘述 測試範例 Example 1: Input: nums = [1,2,3,4,5] Output: true Explanation: Any triplet wh
題目敘述 題目會給我們一個字串s作為輸入,要求我們以white space空白為切割符號,切割出每個單字,並且反轉其順序後,以字串形式最為最後的輸出。 題目的原文敘述 測試範例 Example 1: Input: s = "the sky is blue" Output: "blue i
題目敘述 題目會給定一個字串s,和指定長度k,問我們包含母音的子字串中,母音數量的最大值是多少? 題目的原文敘述 測試範例 Example 1: Input: s = "abciiidef", k = 3 Output: 3 Explanation: The substring "iii
題目敘述 題目會給定一個有n個整數的陣列nums和指定的k值,問我們長度為k的子陣列的平均值的最大值是多少? 題目的原文敘述 測試範例 Example 1: Input: nums = [1,12,-5,-6,50,3], k = 4 Output: 12.75000 Explanati
題目敘述 題目會給定我們一個整數陣列nums,我們每回合可以挑選總和為K的兩個數字,形成一個K-Sum pair。 請問我們最多可以製造幾個K-Sum pair? 題目的原文敘述 測試範例 Example 1: Input: nums = [1,2,3,4], k = 5 Output
題目敘述 題目會給定我們一個整數陣列nums,要求我們把裡面的0做元素交換,把0都搬到陣列的右邊。題目要求必須in-place在原本的陣列裡面做操作,不可以額外建立新的陣列。 題目的原文敘述 測試範例 Example 1: Input: nums = [0,1,0,3,12] Outpu
題目敘述 題目會給我們一個輸入陣列nums,要求我們判斷輸入陣列nums內部是否存在長度為三的遞增子序列? 題目的原文敘述 測試範例 Example 1: Input: nums = [1,2,3,4,5] Output: true Explanation: Any triplet wh
題目敘述 題目會給我們一個字串s作為輸入,要求我們以white space空白為切割符號,切割出每個單字,並且反轉其順序後,以字串形式最為最後的輸出。 題目的原文敘述 測試範例 Example 1: Input: s = "the sky is blue" Output: "blue i
你可能也想看
Google News 追蹤
Thumbnail
*合作聲明與警語: 本文係由國泰世華銀行邀稿。 證券服務係由國泰世華銀行辦理共同行銷證券經紀開戶業務,定期定額(股)服務由國泰綜合證券提供。   剛出社會的時候,很常在各種 Podcast 或 YouTube 甚至是在朋友間聊天,都會聽到各種市場動態、理財話題,像是:聯準會降息或是近期哪些科
Thumbnail
今天的客戶尋找到台灣好椅,想請師傅們幫忙更換椅輪,客戶說想將普通輪更換為固定腳,固定腳的設計就是讓椅子無法滑動,只能將椅子抬起來移動,雖然較不便利,但很適合老人、小孩、家裡養寵物的朋友們,可以在乘坐時更安全,是一種很安全實用的設計,台灣好椅賣椅子時,也有客戶請我們直接把輪子更換成固定腳。
Thumbnail
這本書教你與他人建立有意義的情感連結, 邁向嶄新的人生。 作者是心理學博士, 她用交友軟體和一百個男人約會後, 結合心理學理論與約會實戰, 寫成此書。 我正在同時閱讀的“人脈複利”提到一個概念, 這本書也有相似的觀點。 就是感情關係正向的人身體比較健康, 也較長壽。 人脈好的人身心都會較健康。 An
Thumbnail
你好,這裡是股市鴿~ 華德動能(2237) 今天我想要介紹一家台灣的電動巴士廠華德動能(2237),它是一家在電動商用車領域有自主設計開發能力的公司,也是國內電動巴士市場佔有率超過50%的領導廠商。 電動巴士政策 華德動能受益於政府補助政策,今年電巴出貨加速,28日將交給大南客運示範型三期電巴48輛
Thumbnail
大家喜歡吃肉粽嗎? 肉粽對我來說像蝦子般的存在,雖然很喜歡吃但不喜歡將雙手用得油油的。每次都在思考粽葉的存在不就是方便食用,但光是拆開繩子、翻開粽葉,雙手就油膩膩的了🚣雖然離端午節還有一段時間,但家人已經先去好市多買一箱【晶華冷凍燒肉粽晶華200公克 X 5入】回家吃了。
Thumbnail
我想不少人有跟我有相同的困擾,長期盯著螢幕,稍微疲憊一些,隔天睡醒容易短暫出現會移動的小黑點。雖然到了眼科檢查,醫生說不影響視力,定期追蹤就好,但還是會讓人心生擔憂,想要好好日常做保健。
Thumbnail
「Culture On the move」是一場展開的運動,集結眾人的力量共同參與探索,對一切文化的可能性與想法保持開放,找尋臺灣在世界文化市場上獨樹一格的魅力,而這場運動也將會一直持續下去—Culture  always On the move!
Thumbnail
如果你看過醫生或做過一些互聯網研究,在尋找脊椎疼痛的原因及椎間盤突出治療時,你無疑會遇到“神經受壓”、 “椎間盤突出”和“椎間盤滑動”等術語。這些術語在許多文章和討論中經常互換使用,但它們是什麼意思?有什麼不同?你怎麼知道是哪一個給你帶來了痛苦? 有椎間盤突出還是椎間盤滑動?
今天,2021.08.25,我在資策會的Big Data數據分析班正式開訓。 身為一個一直以來的文組少女,懷著既害怕又期待的心情,決定在此抒發我往後的情緒及紀錄上課筆記。
Thumbnail
  在尋常人眼裡看來,疾馳而過的霄天簡直跟一陣風沒兩樣,路上兩、三人即便是精明著四處鎖定客人的商家等霄天擦身過後,也只覺晚風微涼,神奇的是比起城門那時不過一時半刻速度似乎又更快了一些,霄天打算穿過比平常還多人的街道早點回去。  "呃!"突然被石子絆到的南宮曉雪,走在她身後的南宮若月注意到時伸手去拉已
Thumbnail
*合作聲明與警語: 本文係由國泰世華銀行邀稿。 證券服務係由國泰世華銀行辦理共同行銷證券經紀開戶業務,定期定額(股)服務由國泰綜合證券提供。   剛出社會的時候,很常在各種 Podcast 或 YouTube 甚至是在朋友間聊天,都會聽到各種市場動態、理財話題,像是:聯準會降息或是近期哪些科
Thumbnail
今天的客戶尋找到台灣好椅,想請師傅們幫忙更換椅輪,客戶說想將普通輪更換為固定腳,固定腳的設計就是讓椅子無法滑動,只能將椅子抬起來移動,雖然較不便利,但很適合老人、小孩、家裡養寵物的朋友們,可以在乘坐時更安全,是一種很安全實用的設計,台灣好椅賣椅子時,也有客戶請我們直接把輪子更換成固定腳。
Thumbnail
這本書教你與他人建立有意義的情感連結, 邁向嶄新的人生。 作者是心理學博士, 她用交友軟體和一百個男人約會後, 結合心理學理論與約會實戰, 寫成此書。 我正在同時閱讀的“人脈複利”提到一個概念, 這本書也有相似的觀點。 就是感情關係正向的人身體比較健康, 也較長壽。 人脈好的人身心都會較健康。 An
Thumbnail
你好,這裡是股市鴿~ 華德動能(2237) 今天我想要介紹一家台灣的電動巴士廠華德動能(2237),它是一家在電動商用車領域有自主設計開發能力的公司,也是國內電動巴士市場佔有率超過50%的領導廠商。 電動巴士政策 華德動能受益於政府補助政策,今年電巴出貨加速,28日將交給大南客運示範型三期電巴48輛
Thumbnail
大家喜歡吃肉粽嗎? 肉粽對我來說像蝦子般的存在,雖然很喜歡吃但不喜歡將雙手用得油油的。每次都在思考粽葉的存在不就是方便食用,但光是拆開繩子、翻開粽葉,雙手就油膩膩的了🚣雖然離端午節還有一段時間,但家人已經先去好市多買一箱【晶華冷凍燒肉粽晶華200公克 X 5入】回家吃了。
Thumbnail
我想不少人有跟我有相同的困擾,長期盯著螢幕,稍微疲憊一些,隔天睡醒容易短暫出現會移動的小黑點。雖然到了眼科檢查,醫生說不影響視力,定期追蹤就好,但還是會讓人心生擔憂,想要好好日常做保健。
Thumbnail
「Culture On the move」是一場展開的運動,集結眾人的力量共同參與探索,對一切文化的可能性與想法保持開放,找尋臺灣在世界文化市場上獨樹一格的魅力,而這場運動也將會一直持續下去—Culture  always On the move!
Thumbnail
如果你看過醫生或做過一些互聯網研究,在尋找脊椎疼痛的原因及椎間盤突出治療時,你無疑會遇到“神經受壓”、 “椎間盤突出”和“椎間盤滑動”等術語。這些術語在許多文章和討論中經常互換使用,但它們是什麼意思?有什麼不同?你怎麼知道是哪一個給你帶來了痛苦? 有椎間盤突出還是椎間盤滑動?
今天,2021.08.25,我在資策會的Big Data數據分析班正式開訓。 身為一個一直以來的文組少女,懷著既害怕又期待的心情,決定在此抒發我往後的情緒及紀錄上課筆記。
Thumbnail
  在尋常人眼裡看來,疾馳而過的霄天簡直跟一陣風沒兩樣,路上兩、三人即便是精明著四處鎖定客人的商家等霄天擦身過後,也只覺晚風微涼,神奇的是比起城門那時不過一時半刻速度似乎又更快了一些,霄天打算穿過比平常還多人的街道早點回去。  "呃!"突然被石子絆到的南宮曉雪,走在她身後的南宮若月注意到時伸手去拉已