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

【优选算法】11----最大连续1的个数|||

---------------------------------------begin---------------------------------------

题目解析:

讲解算法原理:

这道题目可以使用滑动窗口算法来解决。滑动窗口的核心思想是通过维护一个窗口,使得窗口内的

0的个数不超过k,然后不断移动窗口的左右边界来找到最长的连续1子数组。

通过滑动窗口算法,我们可以高效地解决这个问题。滑动窗口算法的关键在于维护一个满足条件的

窗口,并通过移动窗口的边界来找到最优解。在这道题目中,我们通过维护一个窗口使得窗口内的

0的个数不超过k,从而找到了最长的连续1子数组。

编写代码:

class Solution {
public:
    int longestOnes(vector<int>& nums, int k) {
        int ret=0;
        int n=nums.size();
        for(int right=0,left=0,zero=0;right<n;right++)
        {
            if(nums[right]==0)
            {
                zero++;
            }
            while(zero>k)
            {
                if(nums[left++]==0)
                {
                    zero--;
                }
            }
            ret=max(ret,right-left+1);
        }
        return ret;
    }
};

有兴趣的铁子可以参照我的思路来做一遍哦~

题目直达--->

1004. 最大连续1的个数 III - 力扣(LeetCode)

-------------------------------------------end-------------------------------------


http://www.kler.cn/a/518976.html

相关文章:

  • 在Windows系统中本地部署属于自己的大语言模型(Ollama + open-webui + deepseek-r1)
  • 高频 SQL 50 题(基础版)_620. 有趣的电影
  • 破解浏览器渲染“死锁”:CSS与JS如何影响页面加载速度?
  • vite环境变量处理
  • 利用Redis实现数据缓存
  • PSD是什么图像格式?如何把PSD转为JPG格式?
  • 【湖北省乡镇界】面图层arcgis数据乡镇名称和编码wgs84坐标无偏移shp格式内容测评
  • debian12.9编译freeswitch1.10.12【默认安装】
  • 掌握Gradle构建脚本:Kotlin DSL配置指南与最佳实践
  • 机器学习day3
  • 本地Ubuntu轻松部署高效性能监控平台SigNoz与远程使用教程
  • 71.在 Vue 3 中使用 OpenLayers 实现按住 Shift 拖拽、旋转和缩放效果
  • Linux MySQL离线安装
  • 《深入解析:DOS检测的技术原理与方法》
  • 9.business english-agreement
  • WPS添加文本超简单,批量操作不费劲-Excel易用宝
  • 基于Flask框架和Hive数仓的农业数据分析系统
  • 【论文阅读】RT-SKETCH: GOAL-CONDITIONED IMITATION LEARNING FROM HAND-DRAWN SKETCHES
  • 设计模式的艺术-中介者模式
  • 深度学习 Pytorch 单层神经网络
  • React Native 0.77 发布:更强的样式支持与性能优化
  • 图像处理算法研究的程序框架
  • 将本地项目上传到 GitLab/GitHub
  • 基于 Bash 脚本的系统信息定时收集方案
  • 机器学习-使用梯度下降最小化均方误差
  • 数据库的JOIN连接查询算法