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
- 力扣485. 最大連續1的個數-C語言實現-簡單題力扣C語言
- 連續1的個數演算法----C版演算法
- 連續1的個數演算法----java版1.0演算法Java
- 【leetcode】53. Maximum Subarray 連續子序列的最大和LeetCode
- 【LeetCode】【分治法】連續數列(最大子序和)思路解析和程式碼LeetCode
- Hive計算最大連續登陸天數Hive
- 【動態規劃】求最大連續bit數動態規劃
- [LeetCode] Maximum Product Subarray 求連續子陣列的最大乘積LeetCode陣列
- 給定一個整數陣列,找出總和最大的連續數列,並返回總和。陣列
- 連續子陣列的最大和陣列
- Jboss的最大連線數
- 修改陣列【並查集維護集合的最大值、連續數字的最大值】陣列並查集
- 最大連續子陣列和(最大子段和)陣列
- MYSQL 檢視最大連線數和修改最大連線數MySql
- hive生成連續的時間和連續的數Hive
- LeetCode 只出現一次的數字IIILeetCode
- 最大連續子陣列和的實現陣列
- leetcode 191 位1的個數LeetCode
- Leetcode刷題628. 三個數的最大乘積LeetCode
- 加大MySql的最大連線數MySql
- mysql最大連線數MySql
- LeetCode-179-最大數LeetCode
- LeetCode題解(1550):陣列中存在連續三個奇數(Python)LeetCode陣列Python
- Google面試題 | 不包含連續1的非負整數Go面試題
- LeetCode每日一題: 三個數的最大乘積(No.628)LeetCode每日一題
- 【劍指offer】連續子陣列的最大和陣列
- 【leetcode.191】位1的個數LeetCode
- Maximum Subarray 連續子陣列最大和陣列
- 測試 mysql 的最大連線數MySql
- Windows Socket 最大連線數Windows
- MySQL 修改最大連線數MySql
- mysql最大連線數修改MySql
- JZ-030-連續子陣列的最大和陣列
- 牛客題霸--連續子陣列的最大和陣列
- 每日一練(22):連續子陣列的最大和陣列