链接:995. K 连续位的最小翻转次数

题解:

https://leetcode-cn.com/problems/minimum-number-of-k-consecutive-bit-flips/solution/hua-dong-chuang-kou-shi-ben-ti-zui-rong-z403l/

https://leetcode-cn.com/problems/minimum-number-of-k-consecutive-bit-flips/solution/hua-dong-chuang-kou-shi-ben-ti-zui-rong-z403l/

class Solution {public:int minKBitFlips(vector<int>& A, int K) {queue<int> que;int len = A.size();int cnt = 0;for(int i = 0; i < len; ++i) {// 队列头的元素的位置到i超过K个位置,所以对i够不成反转控制,出对if(!que.empty() && que.front() + K <= i) {que.pop();}// 判断入队列条件if(que.size() % 2 == A[i]) {// 后面没有K个位置可以反转if(i + K > len) {return -1;}que.push(i);++cnt;}}return cnt;}
};

暴力,贪心

1.从第i下标开始,i下标前面的元素都已经是反转过变成1的

2.如果当前i是0,则将当前i后面K-1的元素都变为1

3.注意i的下标遍历的位置是A.length-K+1

class Solution {public int minKBitFlips(int[] A, int K) {int res = 0;for (int i = 0; i < A.length - K + 1; i++) {if (A[i] == 0) {for (int j = i; j < A.length && j < i + K; j++) {A[j] = 1 - A[j];}res++;}}for (int i = A.length - K + 1; i < A.length; i++) {if (A[i] == 0) return -1;}return res;}
}

995. K 连续位的最小翻转次数相关推荐

  1. Leetcode-滑窗/差分数组-995. K 连续位的最小翻转次数

    题目995. K 连续位的最小翻转次数: 题解: 方法一:队列 + 滑窗(from 负雪明烛) class Solution { public:int minKBitFlips(vector<i ...

  2. leetcode 995. K 连续位的最小翻转次数(贪心算法)

    在仅包含 0 和 1 的数组 A 中,一次 K 位翻转包括选择一个长度为 K 的(连续)子数组,同时将子数组中的每个 0 更改为 1,而每个 1 更改为 0. 返回所需的 K 位翻转的最小次数,以便数 ...

  3. LeetCode 995. K 连续位的最小翻转次数(差分思想)

    文章目录 1. 题目 2. 解题 1. 题目 在仅包含 0 和 1 的数组 A 中,一次 K 位翻转包括选择一个长度为 K 的(连续)子数组,同时将子数组中的每个 0 更改为 1,而每个 1 更改为 ...

  4. 995.K连续位的最小翻转次数(唯唯诺诺)

    如题: 在仅包含 0 和 1 的数组 A 中,一次 K 位翻转包括选择一个长度为 K 的(连续)子数组,同时将子数组中的每个 0 更改为 1,而每个 1 更改为 0. 返回所需的 K 位翻转的最小次数 ...

  5. LeetCode-995. K连续位的最小翻转次数(Minimum Number of K Consecutive Bit Flips)

    K连续位的最小翻转次数 在仅包含 0 和 1 的数组 A 中,一次 K 位翻转包括选择一个长度为 K 的(连续)子数组,同时将子数组中的每个 0 更改为 1,而每个 1 更改为 0. 返回所需的 K ...

  6. leetCode-995:K 连续位的最小翻转次数

    题目描述: 在仅包含 0 和 1 的数组 A 中,一次 K 位翻转包括选择一个长度为 K 的(连续)子数组,同时将子数组中的每个 0 更改为 1,而每个 1 更改为 0. 返回所需的 K 位翻转的最小 ...

  7. LeetCode 1318. 或运算的最小翻转次数(位运算)

    1. 题目 给你三个正整数 a.b 和 c. 你可以对 a 和 b 的二进制表示进行位翻转操作,返回能够使按位或运算 a OR b == c 成立的最小翻转次数. 「位翻转操作」是指将一个数的二进制表 ...

  8. 算法--运算的最小翻转次数

    题目 给你三个正整数 a.b 和 c.你可以对 a 和 b 的二进制表示进行位翻转操作,返回能够使按位或运算 a OR b == c 成立的最小翻转次数.「位翻转操作」是指将一个数的二进制表示任何单个 ...

  9. 阿里笔试题:或运算的最小翻转次数 C++

    阿里笔试题:或运算的最小翻转次数 C++ 题目描述 输入输出示例 解题思路 代码 题目描述 给出一个数字n,表示有n组输入用例子,每一组输入给出三个正整数a.b.c,可以对a和b进行位翻转操作,每一次 ...

最新文章

  1. Github中文项目排行榜,你永远想不到开发者都用它干了什么
  2. 从入门到精通系列Java高级工程师路线介绍,附答案
  3. Cache系列:spring-cache简单三步快速应用ehcache3.x-jcache缓存(spring4.x)
  4. 20211108 能观能控,可稳可测
  5. 八皇后问题求解动态图形演示
  6. 训练日志 2019.3.10
  7. ONNX系列七 --- 在Python中使用可移植的ONNX AI模型
  8. 二级分类php代码,php smarty 二级分类代码和模版循环例子
  9. VIM文本编辑器相关命令实验总结
  10. 同步或者重构Activiti Identify用户数据的多种方案比较
  11. NEFU OJ 574 丑数
  12. 汉芯门主角制造另外一个汉芯?
  13. android app英文 英文模式,英语场景主题会话与单词app
  14. java自定义注解处理器_Android自定义注解处理器
  15. html静态页面作业——海贼王中乔巴漫画(5页) 学生动漫网页设计模板下载 海贼王大学生HTML网页制作作品 简单漫画网页设计成品
  16. 百度地图定位以及方向传感器的调用
  17. golang结构体指针
  18. 你不知道的SQL语言数据库原理
  19. 【阅读论文】第六章--计算机辅助检测--博-自动化眼底图像分析技术可筛查糖尿病患者的视网膜疾病
  20. 魔兽争霸war3心得体会(二):狗转蜘蛛,DK光环+游侠二发

热门文章

  1. CentOS 手工编译、手动编译安装 MongoDB
  2. 【Maven】Maven下载源码和Javadoc的方法
  3. 烂泥:SQL Server 2005数据库安装
  4. Asp.Net中自以为是的Encode
  5. Android SystemClock 应用
  6. 在dos下的文件及文件夹操作命令
  7. html常用的符号实体
  8. Django简介与基本命令
  9. jQuery插件开发(转)
  10. Yiic执行php脚本