加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

[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;
    }
};

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读