当前位置: 首页 > news >正文

图片渐隐 网站头部flash跨境电商开店要多少钱

图片渐隐 网站头部flash,跨境电商开店要多少钱,零基础网站建设教学培训班,旅游网站管理系统源码题目链接 Leetcode.995 K 连续位的最小翻转次数 rating : 1835 题目描述 给定一个二进制数组 n u m s nums nums 和一个整数 k k k 。 k k k位翻转 就是从 n u m s nums nums 中选择一个长度为 k k k 的 子数组 ,同时把子数组中的每一个 0 0 0 都改成 1 1 1 …

题目链接

Leetcode.995 K 连续位的最小翻转次数 rating : 1835

题目描述

给定一个二进制数组 n u m s nums nums 和一个整数 k k k

k k k位翻转 就是从 n u m s nums nums 中选择一个长度为 k k k子数组 ,同时把子数组中的每一个 0 0 0 都改成 1 1 1 ,把子数组中的每一个 1 1 1 都改成 0 0 0

返回数组中不存在 0 0 0 所需的最小 k k k位翻转 次数。如果不可能,则返回 − 1 -1 1

子数组 是数组的 连续 部分。

示例 1:

输入:nums = [0,1,0], K = 1
输出:2
解释:先翻转 A[0],然后翻转 A[2]。

示例 2:

输入:nums = [1,1,0], K = 2
输出:-1
解释:无论我们怎样翻转大小为 2 的子数组,我们都不能使数组变为 [1,1,1]。

示例 3:

输入:nums = [0,0,0,1,0,1,1,0], K = 3
输出:3
解释:
翻转 A[0],A[1],A[2]: A变成 [1,1,1,1,0,1,1,0]
翻转 A[4],A[5],A[6]: A变成 [1,1,1,1,1,0,0,0]
翻转 A[5],A[6],A[7]: A变成 [1,1,1,1,1,1,1,1]

提示:

  • 1 ≤ n u m s . l e n g t h ≤ 1 0 5 1 \leq nums.length \leq 10^5 1nums.length105
  • 1 ≤ k ≤ n u m s . l e n g t h 1 \leq k \leq nums.length 1knums.length

解法:贪心 + 差分

假设前 i − 1 i - 1 i1 个元素已经是全为 1 1 1 了,第 i i i 个元素是 0 0 0。我们要想翻转这个元素,就要翻转 [ i , i + k − 1 ] [i,i + k - 1] [i,i+k1] 整个区间的元素。并且这也是翻转第 i i i 位元素最少的操作次数,对于每一个元素都是如此。

需要注意的是:对于一个需要翻转的元素,它的反转次数必须是奇数,如果是偶数的话,就相当于没有翻转。

我们可以使用差分数组来优化翻转的过程,比如要翻转区间 [ i , i + k − 1 ] [i , i + k - 1] [i,i+k1],我们只需要让 [ i , i + k − 1 ] [i , i + k - 1] [i,i+k1] 中每一个元素的翻转次数 + 1 +1 +1,即 d i f f [ i ] + + , d i f f [ i + k ] − − diff[i]++ , diff[i + k]-- diff[i]++,diff[i+k] d i f f diff diff 就是差分数组。

时间复杂度: O ( n ) O(n) O(n)

C++代码:

class Solution {
public:int minKBitFlips(vector<int>& nums, int k) {int n = nums.size();vector<int> diff(n + 1);int cnt = 0 , ans = 0;for(int i = 0;i < n;i++){cnt += diff[i];//默认初始每一个元素都是 0//nums[i] + cnt 即元素 nums[i] 的翻转次数//如果翻转次数为偶数 , 说明当前元素还是0,需要翻转if((nums[i] + cnt) % 2 == 0){diff[i + 1]++;//此时 i + k > n 说明无法翻转了,直接返回 -1if(i + k > n) return -1;diff[i + k]--;ans++;}}return ans;}
};
http://www.yayakq.cn/news/411183/

相关文章:

  • 诚信建设网站的作用莱芜论坛哪个比较好
  • 海口市网站开发食品网站建设目的
  • seo1888网站建设科技创新的重要性和意义
  • 免费网站搭建优化系统小说
  • 平阴县建设工程网站创网站永久免费建站
  • 响应式网站建设定制主机屋怎么做网站
  • o2o网站线上产品销售推广方案
  • 万网速成网站有哪些 功能我想做电商怎么做
  • 太原做淘宝网站的北京做网站公司 seo
  • 付费小说网站怎么做宁德市人口
  • 做淘客需要用的网站中山建站服务
  • 门户网站建设 总结一个主机可以做几个网站域名
  • 网站代运营公司排名深圳极速网站建设服务
  • 龙华做棋牌网站建设多少钱做网站托管的好处
  • 广州网页制作网站维护个人网站如何做即时支付
  • 湘潭企业网站建设 p磐石网络临沂建设公司网站
  • 标准化信息网站建设与应用租号网站怎么做的
  • 网站建设是如何寻找客户的网站开发 制作
  • 营销型企业网站功能搭建wordpress博客终端
  • 小程序制作页面教程成都seo培训
  • 手机上自己如何做网站企业网站百度指数多少算竞争大
  • 手机优化游戏性能的软件seo推广渠道有哪些
  • 做素材网站如何赚钱名片模板
  • 旅游网站手机模板dt高端网站设计
  • wordpress删除站点大气红色网站
  • wordpress 开发网站诚聘网站开发
  • 做网站是要收费的吗国网典型设计最新版
  • 个人网站备注一般通过血液传染的病有哪些
  • 郑州网站推广 汉狮网络网站开发设计电子书
  • 网站空间如何选择网络营销主要传播渠道