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

经典滑动窗口试题(一)

在这里插入图片描述


📘北尘_:个人主页

🌎个人专栏:《Linux操作系统》《经典算法试题 》《C++》 《数据结构与算法》

☀️走在路上,不忘来时的初心

文章目录

  • 一、将x减到0的最小操作数
    • 1、题目讲解
    • 2、讲解算法原理
    • 3、代码实现
  • 二、无重复的最长子串
    • 1、题目讲解
    • 2、讲解算法原理
    • 3、代码实现
  • 三、最大连续为1的个数
    • 1、题目讲解
    • 2、讲解算法原理
    • 3、代码实现
  • 四、长度最小的子数组
    • 1、题目讲解
    • 2、讲解算法原理
    • 3、代码实现


一、将x减到0的最小操作数

1、题目讲解

在这里插入图片描述

2、讲解算法原理

在这里插入图片描述

3、代码实现

class Solution {
public:int minOperations(vector<int>& nums, int x) {int n=nums.size(),ret=0,sum=0,target,len=-1;for(int i=0;i<n;i++)ret+=nums[i];target=ret-x;if(target<0)  return -1;for(int left=0,right=0;right<n;right++){sum+=nums[right];while(sum>target)sum-=nums[left++];if(sum==target)len=max(len,right-left+1);}if(len==-1) return len;else return n-len;}
};

二、无重复的最长子串

1、题目讲解

在这里插入图片描述

2、讲解算法原理

在这里插入图片描述

3、代码实现

class Solution {
public:int lengthOfLongestSubstring(string s) {int n=s.size();int count[128]={0},len=0;for(int left=0,right=0;right<n;right++){count[s[right]]++;while(count[s[right]]==2)count[s[left++]]--;len=max(len,right-left+1);}return len;}
};

三、最大连续为1的个数

1、题目讲解

在这里插入图片描述

2、讲解算法原理

在这里插入图片描述

3、代码实现

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

四、长度最小的子数组

1、题目讲解

在这里插入图片描述

2、讲解算法原理

在这里插入图片描述

3、代码实现

class Solution {
public:int minSubArrayLen(int target, vector<int>& nums){int n=nums.size(),len=INT_MAX;int sum=0;for(int left=0,right=0;right<n;right++){sum+=nums[right];while(sum>=target){len=min(len,right-left+1);sum-=nums[left];left++;}}return len==INT_MAX?0:len;}
};

http://www.lryc.cn/news/240474.html

相关文章:

  • 【paddlepaddle】
  • String 、StringBuffer 和 StringBuilder 的区别?
  • 【DevOps】Git 图文详解(六):Git 利器 - 分支
  • 万界星空科技QMS质量管理系统介绍
  • C练习题_14
  • 解决方案 | 政策与技术加持,法大大电子劳动合同让人事管理更省心
  • Linux基础命令5
  • springboot(ssm中医学习服务管理系统 医学生在线学习平台Java(codeLW)
  • springboot宠物领养系统-计算机毕设 附源码 44261
  • 性能测试必备知识-使用MySQL存储过程构造大量数据:实例解析
  • 最新绿豆APP源码苹果CMS影视插件版本/原生JAVA源码+反编译开源+免授权
  • SPSS多元对应分析
  • Rust语言特性探秘:宏的魔力
  • 2023最全的Web自动化测试介绍
  • Unity 控制物体透明度变化
  • django及DRF流程源码分析
  • Ajax入门-Express框架介绍和基本使用
  • Linux加强篇001-部署Linux系统
  • LeetCode算法题解(动态规划)|LeetCode343. 整数拆分、LeetCode96. 不同的二叉搜索树
  • 好多年没更新了
  • DOM文档对象模型
  • 【Django-DRF】多年md笔记第5篇:Django-DRF的Request、Response和视图详解
  • mongo DB -- aggregate分组查询后字段展示
  • 禁止linux shell 终端显示完整工作路径,如何让linux bash终端不显示当前工作路径
  • error: ‘ui/ui_uimainwindow.h‘ file not found
  • 【高级网络程序设计】Week2-3 HTML
  • 来聊聊JVM中的类加载过程以及双亲委派模型(学习Java必知内容)
  • scala的类介绍
  • 1.Gin 介绍
  • 华三无线控制器WX2540H配合准入做Portal认证