【算法|滑动窗口No.4】leetcode 485.最大连续 1 的个数 487.最大连续 1 的个数 II 1004. 最大连续1的个数 III

news/2024/5/20 7:57:22 标签: 算法, leetcode, 滑动窗口

个人主页:兜里有颗棉花糖
欢迎 点赞👍 收藏✨ 留言✉ 加关注💓本文由 兜里有颗棉花糖 原创
收录于专栏【手撕算法系列专栏】【LeetCode】
🍔本专栏旨在提高自己算法能力的同时,记录一下自己的学习过程,希望对大家有所帮助
🍓希望我们一起努力、成长,共同进步。
在这里插入图片描述

目录

  • 一、485.最大连续 1 的个数
    • 题目描述
    • 解题代码
  • 二、487.最大连续 1 的个数 II
    • 题目描述
    • 解题代码
  • 三、1004. 最大连续1的个数 III
    • 题目描述
    • 解题代码

一、485.最大连续 1 的个数

原题链接:点击直接跳转到该题目

题目描述

给定一个二进制数组 nums , 计算其中最大连续 1 的个数。

示例1:

输入:nums = [1,1,0,1,1,1]
输出:3
解释:开头的两位和最后的三位都是连续 1 ,所以最大连续 1 的个数是 3.

示例2:

输入:nums = [1,0,1,1,0,1]
输出:2

提示:

  • 1 <= nums.length <= 1 0 5 10^{5} 105
  • nums[i] 不是 0 就是 1

解题代码

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

二、487.最大连续 1 的个数 II

原题链接(会员题目):点击直接跳转到该题目

题目描述

在这里插入图片描述

在这里插入图片描述
提示:

  • 1 <= nums.length <= 1 0 5 10^{5} 105
  • nums[i] 不是 0 就是 1

解题代码

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

三、1004. 最大连续1的个数 III

原题链接:点击直接跳转到该题目

题目描述

给定一个二进制数组 nums 和一个整数 k,如果可以翻转最多 k0 ,则返回 数组中连续 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。

解题代码

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

hh~最后就顺利通过啦!!!


http://www.niftyadmin.cn/n/5140791.html

相关文章

希望简单充实的日子,被喜欢的事填满~

流行的Polo领设计&#xff0c;舒适贴身&#xff0c;满满的时尚范儿 无论是男孩还是女孩&#xff0c;都可以轻松驾驭哦 罗纹收口设计使衣服更加贴身&#xff0c;保暖性能更佳 加绒内里为孩子提供了舒适的穿着体验&#xff0c; 拉链翻领时尚设计而且方便孩子穿脱 此外&#…

基于51单片机霍尔测速直流电机控制设计

**单片机设计介绍&#xff0c;1658【毕设课设】基于51单片机霍尔测速直流电机控制设计(含源码、原理图、论文、PCB封装) 文章目录 一 概要二、功能设计设计思路 三、 软件设计原理图 五、 程序六、 文章目录 一 概要 51单片机是微型计算机的一种常见类型&#xff0c;用于处理数…

ZKP9 SNARKs based on Linear PCP (Pinocchio Groth16)

ZKP学习笔记 ZK-Learning MOOC课程笔记 Lecture 9: SNARKs based on Linear PCP (Yupeng Zhang) SNARKs learned so far Earliest Implemented SNARKs Pros Shortest proof size (3 elements [Groth16])Fast verifier (bilinear pairing) Cons FFT and group exponentiatio…

js中的日期Date操作——计算yyyy-mm-dd格式日期加上天数后返回新的yyyy-mm-dd格式日期

// 将yyyy-MM-dd格式日期加上某个天数后&#xff0c;返回新的yyyy-MM-dd格式日期 addDay(dateString, days){var date new Date(dateString); // 将日期字符串转换为Date对象date.setDate(date.getDate() days); // 使用Date对象的setDate方法增加日期间隔var year date.get…

优化 FPGA HLS 设计

优化 FPGA HLS 设计 用工具用 C 生成 RTL 的代码基本不可读。以下是如何在不更改任何 RTL 的情况下提高设计性能。 介绍 高级设计能够以简洁的方式捕获设计&#xff0c;从而减少错误并更容易调试。然而&#xff0c;经常出现的问题是性能权衡。在高度复杂的 FPGA 设计中实现高性…

Downloading the detection model to C:\Users\UserName\.ifnude/detector.onnx

wo ways to slove your question&#xff1a; download https://huggingface.co/s0md3v/nudity-checker/resolve/main/detector.onnx and put it into xxx/.ifnude/set agent to your webui and restart

Linu之VM及WindowsServer安装

# 1.操作系统 ## 1.1.什么是操作系统 操作系统&#xff08;Operating System&#xff0c;简称OS&#xff09;是一种系统软件&#xff0c;它是计算机硬件和应用软件之间的桥梁。它管理计算机的硬件和软件资源&#xff0c;为应用程序提供接口和服务&#xff0c;并协调应用程序的…

信号灯集,消息队列

信号灯集 1、概念 信号灯(semaphore)&#xff0c;也叫信号量。它是不同进程间或一个给定进程内部不同线程间同步的机制&#xff1b;System V的信号灯是一个或者多个信号灯的一个集合。其中的每一个都是单独的计数信号灯。而Posix信号灯指的是单个计数信号灯。 通过信号灯集实现…