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

网站开发课设心得网站推广的公司

网站开发课设心得,网站推广的公司,唐河网站制作公司,上海网站建设报价方案1. ​题目链接 1004. 最大连续1的个数 III - 力扣(LeetCode)https://leetcode.cn/problems/max-consecutive-ones-iii/ 2. ​题目描述 给定一个二进制数组 nums 和一个整数 k,允许将最多 k 个 0 翻转为 1,求翻转后最长的连续 1 …
1. ​题目链接

1004. 最大连续1的个数 III - 力扣(LeetCode)https://leetcode.cn/problems/max-consecutive-ones-iii/


2. ​题目描述

给定一个二进制数组 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],翻转两个0后连续1的长度为6)


3. ​算法思路

采用滑动窗口(双指针)​算法:

  1. 窗口定义:维护 left 和 right 指针,表示当前窗口范围。
  2. 统计0的数量:窗口内允许的0的数量不超过 k
  3. 窗口扩展:右指针 right 不断右移,遇到0时增加计数。
  4. 窗口收缩:当0的数量超过 k 时,左指针 left 右移,直到0的数量合法。

4. ​代码实现分析
class Solution
{
public:int longestOnes(vector<int>& nums, int k){int n = nums.size();if (k >= n) return n; // 边界条件int left = 0, right = 0;int zeroCount = 0, maxLen = 0, curLen = 0;// 进窗口for (right = 0; right < n ; right++){if (nums[right] == 0) zeroCount++;// 出窗口while (zeroCount > k){if (nums[left++] == 0) zeroCount--;}// 最长字串更新maxLen = max(right - left + 1, maxLen);}return maxLen;}
};

关键点解析

  1. 边界处理k >= n 时直接返回数组长度,因为可以翻转所有0。
  2. 滑动窗口逻辑
    • 右指针扩展:每次移动右指针并统计0的数量。
    • 左指针收缩:当0的数量超过 k 时,左指针右移,直到窗口合法。
  3. 时间复杂度:O(n),每个元素最多被访问两次(左、右指针各一次)。

4. ​总结

该代码通过滑动窗口算法高效解决了问题,逻辑清晰且时间复杂度最优。关键在于实时更新最大值精确控制窗口收缩条件,避免遗漏可能的解。

对比维度暴力枚举法滑动窗口法
核心思想遍历所有可能的子数组,检查是否可以通过翻转最多 k 个 0 变成全 1 的子数组。维护一个动态窗口,窗口内最多允许 k 个 0,通过调整左右指针高效寻找最长子数组。
时间复杂度O(n²)(双重循环枚举所有子数组起点和终点,每个子数组统计0的时间为 O(1)*)。O(n)(每个元素仅被左右指针访问一次,总操作次数为 2n)。
空间复杂度O(1)(无需额外存储结构)。O(1)(仅需常数变量记录0的数量和指针位置)。
实现方式1. 双重循环枚举所有子数组起点 i 和终点 j
2. 对每个子数组 [i, j],统计其中 0 的数量是否 ≤ k
1. 右指针 right 不断右移,统计窗口内 0 的数量。
2. 若 0 的数量超过 k,左指针 left 右移直到合法。
3. 实时更新最大窗口长度。
适用场景数据规模极小(如 n ≤ 100)。数据规模大(如 n ≥ 1e4),需高效处理连续子数组问题。
优点实现简单,逻辑直观,适合验证算法正确性。时间复杂度最优,避免冗余计算,适用于高频或大规模数据场景。
缺点数据规模大时性能极差(例如 n=1e4 时需 1e8 次操作)。需合理控制窗口收缩逻辑,对边界条件处理要求较高(如 k=0 或全为 0 的数组)。
http://www.dtcms.com/wzjs/51396.html

相关文章:

  • 网站建设的领军 18年网站建设百度一下一下你就知道
  • 百度用户服务中心人工24小时电话搜索引擎优化的作用是什么
  • 网站建设如何为企业电商化转型赋能app开发费用一览表
  • 全国可信网站推广营销是什么
  • 自动成交型网站行者seo无敌
  • 深圳网站设计公司费用多少如何创建网站站点
  • 大学生做兼职上什么网站好泉州百度开户
  • 邯郸做网站公司哪家好宁波seo优化公司排名
  • wordpress分享微信插件网络seo公司
  • 哪些网站可以做淘宝基础销量企业关键词优化公司
  • 制冷 网站建设 中企动力网络营销教学网站
  • 成都企业模版网站建设免费观看b站的广告网站平台
  • 海南哪家公司做网站做的好广东最新消息
  • 3d 代做网站全球搜索引擎排行榜
  • 360建筑网是什么公司朝阳区seo
  • 晋中市两学一做网站网页制作
  • 河南省工程建设信息官方网站seo推广排名平台有哪些
  • 太原企业网站制作深圳华强北最新消息
  • 网站设计步骤ppt广州市新闻最新消息
  • 在新闻网站做采编拉新推广怎么做
  • 最好的微网站建设公司推荐镇江网站建设
  • 中国郴州windows优化大师要会员
  • 免费网站制作范例百度扫一扫网页版
  • 校园网站建设管理工作制度关键词爱站网
  • 网站被墙怎么办软文如何推广
  • 网站运营建设岗位职责济南网站seo哪家公司好
  • 昆山网站建设方案优化公司关键词检索
  • 大国工匠网页制作素材搜索引擎的优化方法
  • 怎么做招聘网站的数据分析2023疫情最新消息今天
  • 毕设 做网站广东网约车涨价