精華區beta Marginalman 關於我們 聯絡資訊
1493. Longest Subarray of 1's After Deleting One Element 題目: 必須刪除一個元素 求 0, 1 陣列的最長連續 1 子陣列 思路: 一樣雙指標滑動窗口 right 碰到 0 就增加 zero_count zero_count 大於 1 就讓 left 開始排泄直到 zero_count < 1 每輪更新 max_len 跟前一題有九成像 沒啥意思 Code: impl Solution { pub fn longest_subarray(nums: Vec<i32>) -> i32 { let mut left = 0; let mut right = 0; let mut zero_count = 0; let mut max_len = 0; while right < nums.len() { if nums[right] == 0 { zero_count += 1; } while zero_count > 1 { if nums[left] == 0 { zero_count -= 1; } left += 1; } max_len = max_len.max(right - left); right += 1; } max_len as i32 } } -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 114.32.48.170 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/Marginalman/M.1749535971.A.FEB.html