leetcode —— 1004. 最大連續1的個數 III
給定一個由若干 0 和 1 組成的陣列 A,我們最多可以將 K 個值從 0 變成 1 。
返回僅包含 1 的最長(連續)子陣列的長度。
示例 1:
輸入:A = [1,1,1,0,0,0,1,1,1,1,0], K = 2
輸出:6
解釋:
[1,1,1,0,0,1,1,1,1,1,1]
粗體數字從 0 翻轉到 1,最長的子陣列長度為 6。
示例 2:
輸入:A = [0,0,1,1,0,0,1,1,1,0,1,1,0,0,0,1,1,1,1], K = 3
輸出:10
解釋:
[0,0,1,1,1,1,1,1,1,1,1,1,0,0,0,1,1,1,1]
粗體數字從 0 翻轉到 1,最長的子陣列長度為 10。
來源:力扣(LeetCode)
連結:https://leetcode-cn.com/problems/max-consecutive-ones-iii
著作權歸領釦網路所有。商業轉載請聯絡官方授權,非商業轉載請註明出處。
————————————————
Python3:
class Solution:
def longestOnes(self, A, K):
left, right = 0, 0
count = 0
for right in range(len(A)): #遍歷陣列
if A[right] == 0: #如果新加元素為0,count加1
count += 1
if count > K: #如果count大於K,說明超出了限制,需要判斷
if A[left] == 0: #如果左側數為0,則減小count,增加右側,如果為1,則count不變,保持為最大視窗
count -= 1
left += 1 #不管左側元素為0或1,視窗都要後移
return right - left + 1 #遍歷結束返回視窗大小
題目是找最長的1的序列長度,當count的值小於k時,序列能不斷延伸,當right遍歷到的值為1時序列也能不斷延伸;
只有當right遍歷的值為0同時count的值大於k時才會使left增加,這時候如果left對應的值為0時則count減一,否則直接left+1,count不變;
相關文章
- leetcode力扣 1004. 最大連續1的個數 IIILeetCode力扣
- LeetCode-485-最大連續 1 的個數LeetCode
- 【演算法題解】485. 最大連續1的個數 - Java演算法Java
- 【leetcode】53. Maximum Subarray 連續子序列的最大和LeetCode
- 力扣485. 最大連續1的個數-C語言實現-簡單題力扣C語言
- 【LeetCode】【分治法】連續數列(最大子序和)思路解析和程式碼LeetCode
- Hive計算最大連續登陸天數Hive
- leetcode 191 位1的個數LeetCode
- ●連續質數2.3.5.7.11.13.17.19的規律●(1)
- LeetCode題解(1550):陣列中存在連續三個奇數(Python)LeetCode陣列Python
- LeetCode 只出現一次的數字IIILeetCode
- 【leetcode.191】位1的個數LeetCode
- 連續子陣列的最大和陣列
- 給定一個整數陣列,找出總和最大的連續數列,並返回總和。陣列
- Leetcode刷題628. 三個數的最大乘積LeetCode
- LeetCode-179-最大數LeetCode
- LeetCode每日一題: 三個數的最大乘積(No.628)LeetCode每日一題
- [LintCode/LeetCode] Contains Duplicate IIILeetCodeAI
- 修改陣列【並查集維護集合的最大值、連續數字的最大值】陣列並查集
- 最大連續子陣列和(最大子段和)陣列
- hive生成連續的時間和連續的數Hive
- 最大連續子陣列和的實現陣列
- [LeetCode] 3163. String Compression IIILeetCode
- [LeetCode] 248. Strobogrammatic Number IIILeetCode
- LeetCode題解(Offer17):列印從1到最大的n位數(Python)LeetCodePython
- 求十個連續最小自然數,非素數。
- LeetCode每日一題: 位1的個數(No.191)LeetCode每日一題
- JZ-030-連續子陣列的最大和陣列
- LeetCode-128-最長連續序列LeetCode
- 測試 mysql 的最大連線數MySql
- Leetcode 題解系列 -- 和為s的連續正數序列(滑動視窗)LeetCode
- LeetCode 面試題16.07[最大數值]LeetCode面試題
- MySQL 修改最大連線數MySql
- 每日一練(22):連續子陣列的最大和陣列
- 牛客題霸--連續子陣列的最大和陣列
- 9個連續質數2,3,5,7,11,13,17,19,23的三層連環(27):n=1
- 9個連續質數2,3,5,7,11,13,17,19,23的三層連環(37):n=1
- 9個連續質數2,3,5,7,11,13,17,19,23的三層連環(42):n=1