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

  • Description
      • Difficulty: hard
    • Example 1:
    • Example 2:
    • Example 3:
    • Note:
  • 分析
  • 参考代码

Description

In an array A containing only 0s and 1s, a K-bit flip consists of choosing a (contiguous) subarray of length K and simultaneously changing every 0 in the subarray to 1, and every 1 in the subarray to 0.

Return the minimum number of K-bit flips required so that there is no 0 in the array. If it is not possible, return -1.


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

返回所需的 K 位翻转的次数,以便数组没有值为 0 的元素。如果不可能,返回 -1

题目链接:https://leetcode.com/problems/minimum-number-of-k-consecutive-bit-flips/
个人网站:http://redtongue.cn or http://redtongue.github.io/

Difficulty: hard

Example 1:

Input: A = [0,1,0], K = 1
Output: 2
Explanation: Flip A[0], then flip A[2].

Example 2:

Input: A = [1,1,0], K = 2
Output: -1
Explanation: No matter how we flip subarrays of size 2, we can't make the array become [1,1,1].

Example 3:

Input: A = [0,0,0,1,0,1,1,0], K = 3
Output: 3
Explanation:
Flip A[0],A[1],A[2]: A becomes [1,1,1,1,0,1,1,0]
Flip A[4],A[5],A[6]: A becomes [1,1,1,1,1,0,0,0]
Flip A[5],A[6],A[7]: A becomes [1,1,1,1,1,1,1,1]

Note:

  • 1 <= A.length <= 30000
  • 1 <= K <= A.length

分析

  • updating

参考代码

class Solution(object):
def minKBitFlips(self, A, K):index=0Sum=0li=[0]*len(A)i=0while(i < (len(A))):index ^= li[i]if(A[i]^index == 0):Sum += 1index ^= 1if(i+K<len(A)):li[i+K] ^= 1if(i+K>len(A)):return -1i+=1return Sum

LeetCode995.Minimum Number of K Consecutive Bit Flips(K 连续位的最小翻转次数 )相关推荐

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

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

  2. 995. K 连续位的最小翻转次数

    链接:995. K 连续位的最小翻转次数 题解: https://leetcode-cn.com/problems/minimum-number-of-k-consecutive-bit-flips/ ...

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

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

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

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

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

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

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

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

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

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

  8. LeetCode 871. Minimum Number of Refueling Stops 最少加油次数

    LeetCode 871. Minimum Number of Refueling Stops 本题是LeetCode 871题,最少加油次数. 题目描述 A car travels from a s ...

  9. LeetCode——1888. 使二进制字符串字符交替的最少反转次数(Minimum Number of Flips to Make the Binary ...)[中等]——分析及代码(Java)

    LeetCode--1888. 使二进制字符串字符交替的最少反转次数[Minimum Number of Flips to Make the Binary String Alternating][中等 ...

  10. LeetCode 202次周赛 1553. Minimum Number of Days to Eat N Oranges

    1553. Minimum Number of Days to Eat N Oranges 题目描述 思路分析 弱智动态规划 可行的动态规划 直觉上正确的思路 代码实现 证明正确性 复杂度分析 总结 ...

最新文章

  1. 【poj3420】 Quad Tiling
  2. 错误:Parameter ‘0‘ not found.Available parameters are [arg1, arg0, param1, param2]的解决方法
  3. morphologyEx 形态学
  4. 数字图像处理与Python实现笔记
  5. linux ubuntu系统安装及卸载oracle xe11.2.0
  6. 多层数组如何遍历_带你从零学大数据系列之Java篇---第五章:数组
  7. .NET 中使用 SQlite 数据库_1.新数据库的创建
  8. 通才还是专才——由摩托裁员引发的讨论
  9. .Net 程序员应该知道的工具和网站
  10. Python的安装与配置
  11. 全自动抠图换背景软件下载_智能抠图换背景软件-手挥自动背景更换软件
  12. HTML5超链接链接ppt可以吗,PPT插入超链接的方法步骤详解
  13. IT接地系统工作原理
  14. 腾讯云docker部署halo个人博客及myql数据库笔记
  15. 使用阿里巴巴EasyExcel导出的excel打不开(无法打开文件)
  16. python从入门到入土图片_python学习手册-爬爬那些年咱没见过的校花图片
  17. python用math运行三角函数_Python中的数学模块:Math和Cmath 算术函数 三角函数 双曲函数 幂函数和对数函数 复数......
  18. SRGB和RGB的区别
  19. linux 切换java_Linux中切换java的版本
  20. Java-MQTT客户端监控连接状态事件

热门文章

  1. html 网页配色,配色就是这么简单!7个在线配色网站推荐
  2. ASO优化:App从0到1进行ASO优化
  3. 从数学上证明墨菲定律
  4. 业务流程图和数据流程图、流程图
  5. 学生信息管理系统—流程图
  6. 软件测试工程师面试如何做好自我介绍?月薪30k大鸟教你回答
  7. SpringBoot+Vue实现前后端分离的旅游推荐网站
  8. oracle oem登录xdb,XDB sys_nc_oid$递归调用的案例一则
  9. python相关的证书_有哪些含金量较高的Python证书?
  10. 万用表如何进行欧姆校零