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

1004. 最大连续1的个数 III

目录

  • 一、题目
  • 二、思路
    • 2.1 解题思路
    • 2.2 代码尝试
    • 2.3 疑难问题
  • 三、解法
  • 四、收获
    • 4.1 心得
    • 4.2 举一反三

一、题目

在这里插入图片描述

二、思路

2.1 解题思路

2.2 代码尝试

class Solution {
public:
    int longestOnes(vector<int>& nums, int k) {
        int m=k;
        //每个窗口遇到0的时候先使用K,到k用完了之后再统计长度
        int cur=0;//记录当前长度
        int count=0;//记录最大长度
        int l=0;//有一个左边界用于记录滑动窗口的左边界
        for(int i=0;i<nums.size();i++){
            //判断是否为1
            if(nums[i]==1){
                cur++;
                count=max(cur,count);
            }else{
                //分两种情况,m可用和m不可用
                if(m>0){
                    //m可用就继续延伸
                    cur++;
                    m--;
                    count=max(cur,count);
                }else{
                    //m不可用就将左边界定位到i-k的位置,并释放一个m
                    m++;
                    cur=1;
                }
            }
        }
        return count;
    }
};

感觉有一个大致的思路,但是还差了一点,不过现在写代码有点思路了,不像之前写不出来就是一整段写不出来。

2.3 疑难问题

三、解法

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

作者:力扣官方题解
链接:https://leetcode.cn/problems/max-consecutive-ones-iii/solutions/608931/zui-da-lian-xu-1de-ge-shu-iii-by-leetcod-hw12/
来源:力扣(LeetCode)
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

四、收获

4.1 心得

官方解决的滑动窗口太优雅了

4.2 举一反三

滑动窗口的模板就是内外循环,两个指针,内循环一个不满足的窗口条件

相关文章:

  • 为你详细介绍系统数据库的概念结构、逻辑结构、物理结构设计方法,以及数据库的物理独立性的相关内容:
  • DeepSeek-R1 本地部署及Api调用
  • 动态规划刷题
  • 人工智能AI在汽车设计领域的应用探索
  • springboot417-基于Spring Boot的酒店后台管理系统(源码+数据库+纯前后端分离+部署讲解等)
  • DeepSeek R1体验地址
  • 课程《MIT Introduction to Deep Learning》
  • 24、Java 集合
  • Java 大视界 -- Java 大数据在智慧文旅游客流量预测与景区运营优化中的应用(110)
  • 【愚公系列】《Python网络爬虫从入门到精通》040-Matplotlib 概述
  • C语言--预处理详解
  • Pytorch使用手册-对您的 PyTorch 模块进行性能分析(专题三十七)
  • MoeCTF-2024-wp
  • LeeCode题库第四十题
  • 【数据结构】栈与分治递归||斐波那契问题和归并算法||递归实现||顺序栈和链栈的区分
  • 使用DeepSeek+KIMI生成高质量PPT
  • chroma在langchain中的使用 (Document Question Answering)
  • 蓝桥杯试题:二分查找
  • 两台虚拟机配置本地源以及使用ftp服务进行部署
  • React生态、Vue生态与跨框架前端解决方案
  • 互动平台抽手机/东莞网站优化公司
  • 佛山高端网站建设公司/百度竞价开户3000
  • 广州网站建设/淘宝宝贝关键词排名查询工具
  • dedecms做网站有多快/怎样给自己的网站做优化
  • 找别人做网站的注意事项/企业品牌推广
  • 无锡企业如何建网站/长沙免费网站建站模板