[leetcode] Minimum Number of K Consecutive Bit Flips
发布时间:2020-12-14 04:38:47 所属栏目:大数据 来源:网络整理
导读:我永远都学不会贪心算法罢了(╯‵□′)╯︵┻━┻ ? class Solution { public : int minKBitFlips(vector int A, int K) { int count= 0 ,A_length= A.size(); queue int flip_records; bool has_flipped,need_flip; for ( int i= 0 ;iA_length;i++ ) { if (
我永远都学不会贪心算法罢了(╯‵□′)╯︵┻━┻ ? class Solution { public: int minKBitFlips(vector<int>& A,int K) { int count=0,A_length=A.size(); queue<int> flip_records; bool has_flipped,need_flip; for (int i=0;i<A_length;i++) { if (!flip_records.empty()) { if (flip_records.front()+K-1<i) flip_records.pop(); } has_flipped=flip_records.size()%2?true:false; need_flip=!A[i]^has_flipped; if (need_flip) { if (i+K>A_length) return -1; flip_records.push(i); ++count; } } return count; } }; (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |