www.noteanddata.com/leetcode-99… ‘贪心代码很是简洁,就是从左向右遍历, 遇到0就作flip,而后一直到数组结尾就行了!!!’html
/**
* @param {number[]} A
* @param {number} K
* @return {number}
*/
var minKBitFlips = function(A, K) {
let len = A.length;
function flip(index) {
for(let i = 0; i < K; ++i) {
if(index + i >= len) {
return -1;
}
A[index + i] = ~~!A[index + i];
}
return 1;
}
let flipped = 0;
for(let i = 0; i < len; ++i) {
if(A[i] === 0) {
let res = flip(i);
if(res === -1) {
return -1;
}
flipped ++;
}
}
return flipped;
};
复制代码