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

滦平县建设局网站传媒公司有哪些

滦平县建设局网站,传媒公司有哪些,点瑞网络网站建设,企业网站建设实训体会⼤连续 1 的个数 III(medium) 题⽬描述:解法(滑动窗⼝):算法思路:算法流程: C 算法代码:Java 算法代码: 题⽬链接:1004. 最⼤连续 1 的个数 III …

⼤连续 1 的个数 III(medium)

  • 题⽬描述:
  • 解法(滑动窗⼝):
    • 算法思路:
    • 算法流程:
  • C++ 算法代码:
  • Java 算法代码:

题⽬链接:1004. 最⼤连续 1 的个数 III

题⽬描述:

给定⼀个⼆进制数组 nums 和⼀个整数 k ,如果可以翻转最多 k 个 0 ,则返回 数组中连续 1的最⼤个数 。
⽰例 1
输⼊: nums = [1,1,1,0,0,0,1,1,1,1,0], K = 2
输出: 6
解释
[1,1,1,0,0,1 ,1,1,1,1,1]
红⾊数字从 0 翻转到 1 ,最⻓的⼦数组⻓度为 6 。
⽰例 2
输⼊: nums = [0,0,1,1,0,0,1,1,1,0,1,1,0,0,0,1,1,1,1], K = 3
输出: 10
解释
[0,0,1,1, 1,1 ,1,1,1,1,1,1,0,0,0,1,1,1,1]
红⾊数字从 0 翻转到 1 ,最⻓的⼦数组⻓度为 10 。

解法(滑动窗⼝):

算法思路:

不要去想怎么翻转,不要把问题想的很复杂,这道题的结果⽆⾮就是⼀段连续的 1 中间塞了 k个 0 嘛。
因此,我们可以把问题转化成:求数组中⼀段最⻓的连续区间,要求这段区间内 0 的个数不超过 k 个。
既然是连续区间,可以考虑使⽤「滑动窗⼝」来解决问题。

算法流程:

  1. 初始化⼀个⼤⼩为 2 的数组就可以当做哈希表 hash 了;初始化⼀些变量 left = 0 ,
    right = 0 , ret = 0 ;
  2. 当 right ⼩于数组⼤⼩的时候,⼀直下列循环:
    i. 让当前元素进⼊窗⼝,顺便统计到哈希表中;
    ii. 检查 0 的个数是否超标:
    • 如果超标,依次让左侧元素滑出窗⼝,顺便更新哈希表的值,直到 0 的个数恢复正常;
    iii. 程序到这⾥,说明窗⼝内元素是符合要求的,更新结果;
    iv. right++ ,处理下⼀个元素;
  3. 循环结束后, ret 存的就是最终结果。

C++ 算法代码:

class Solution{
public:int longestOnes(vector<int>& nums, int k){int ret = 0;for(int left = 0, right = 0, zero = 0; right < nums.size(); right++){if(nums[right] == 0) zero++; // 进窗⼝while(zero > k) // 判断if(nums[left++] == 0) zero--; // 出窗⼝ret = max(ret, right - left + 1); // 更新结果}return ret;}
}

Java 算法代码:

class Solution{public int longestOnes(int[] nums, int k){int ret = 0;for(int left = 0, right = 0, zero = 0; right<nums.length;right++){if(nums[right] == 0) zero++; // 进窗⼝while(zero > k) // 判断if(nums[left++] == 0) zero--; // 出窗⼝ret = Math.max(ret, right - left + 1); // 更新结果}return ret;}
}
http://www.dtcms.com/wzjs/560107.html

相关文章:

  • 各大网站黑白几天想象力网站建设
  • 企业网站开发需求分析汽车网站制作策划方案
  • 五分钟自己创建网站的方法宿州金融网站建设
  • 瀑布流分享网站源代码下载网站开发算是研发支出吗
  • 猎头网站模板wordpress占用资源大
  • 相机网站建设规划书软件工程是干什么的
  • 十堰网站建设怎么做网页设计与制作教程电商
  • 合肥网站建设代理商章丘网站建设哪家好
  • 在线做动漫图的网站网站建设可行性分析表
  • 海南四定网站开发Python电影网站开发
  • wordpress模板创建对网站外部的搜索引擎优化
  • 一家专门做动漫的网站为什么要进行网络整合营销?
  • 公司建设网站的必要性个人网站用什么开发
  • 做百度网站排检测网站开发语言
  • 做版式的网站个人站长做网站需要多少钱
  • 光触媒网站建设武进网站建设哪家好
  • 淘宝建设网站的英语不行如何编程做网站
  • 怎样做服务型网站小程序开发流程详细
  • 南阳做网站价格微信上打开连接的网站怎么做的
  • 建设企业网站官网企业假网站怎么做
  • wordpress 获取指定分类北京网站sem、seo
  • 网站怎么做能赚钱做网站ps分辨率给多少
  • 建设银行山西招聘网站网站建设与网站开发
  • 自己的电脑做服务器搭建网站深圳网站建设的客户在哪里
  • 留言网站怎么做海宁市网站建设
  • 企业所得税计算公式2022网站站内优化方案
  • 海搜网做的网站怎么办成都网站推广公司
  • 基于js原生的新闻类静态网站建设如何做机票预订网站
  • 天津品牌网站建设是什么佛山新网站建设详细内容
  • 深圳哪里网站建设好兰州网络推广专员