LeetCode 995. K 连续位的最小翻转次数(差分思想)
文章目錄
- 1. 題目
- 2. 解題
1. 題目
在僅包含 0 和 1 的數(shù)組 A 中,一次 K 位翻轉(zhuǎn)包括選擇一個(gè)長(zhǎng)度為 K 的(連續(xù))子數(shù)組,同時(shí)將子數(shù)組中的每個(gè) 0 更改為 1,而每個(gè) 1 更改為 0。
返回所需的 K 位翻轉(zhuǎn)的次數(shù),以便數(shù)組沒(méi)有值為 0 的元素。如果不可能,返回 -1。
示例 1: 輸入:A = [0,1,0], K = 1 輸出:2 解釋:先翻轉(zhuǎn) A[0],然后翻轉(zhuǎn) A[2]。示例 2: 輸入:A = [1,1,0], K = 2 輸出:-1 解釋:無(wú)論我們?cè)鯓臃D(zhuǎn)大小為 2 的子數(shù)組,我們都不能使數(shù)組變?yōu)?[1,1,1]。示例 3: 輸入:A = [0,0,0,1,0,1,1,0], K = 3 輸出:3 解釋: 翻轉(zhuǎn) A[0],A[1],A[2]: A變成 [1,1,1,1,0,1,1,0] 翻轉(zhuǎn) A[4],A[5],A[6]: A變成 [1,1,1,1,1,0,0,0] 翻轉(zhuǎn) A[5],A[6],A[7]: A變成 [1,1,1,1,1,1,1,1]提示: 1 <= A.length <= 30000 1 <= K <= A.length來(lái)源:力扣(LeetCode)
鏈接:https://leetcode-cn.com/problems/minimum-number-of-k-consecutive-bit-flips
著作權(quán)歸領(lǐng)扣網(wǎng)絡(luò)所有。商業(yè)轉(zhuǎn)載請(qǐng)聯(lián)系官方授權(quán),非商業(yè)轉(zhuǎn)載請(qǐng)注明出處。
2. 解題
類似題目:
LeetCode 1094. 拼車
LeetCode 370. 區(qū)間加法(差分思想)
LeetCode 732. 我的日程安排表 III(差分思想)
LeetCode 1674. 使數(shù)組互補(bǔ)的最少操作次數(shù)(差分思想)
- 差分思想,用差分?jǐn)?shù)組記錄區(qū)間翻轉(zhuǎn)情況
- 左端點(diǎn)翻轉(zhuǎn)一次的話,長(zhǎng)度為 K 的區(qū)間左端點(diǎn)+1,右端點(diǎn)+1的位置 -1
- 差分?jǐn)?shù)組的前綴和為每個(gè)位置的翻轉(zhuǎn)次數(shù),翻轉(zhuǎn)次數(shù)為偶數(shù)的話,狀態(tài)不變
224 ms 74.4 MB C++
我的CSDN博客地址 https://michael.blog.csdn.net/
長(zhǎng)按或掃碼關(guān)注我的公眾號(hào)(Michael阿明),一起加油、一起學(xué)習(xí)進(jìn)步!
總結(jié)
以上是生活随笔為你收集整理的LeetCode 995. K 连续位的最小翻转次数(差分思想)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: LeetCode MySQL 601.
- 下一篇: 牛客 共鸣问题(思维难题)