同向双指针(滑动窗口)算法

devtools/2024/11/13 10:33:11/

209. 长度最小的子数组

这里的更新结果就题来定

java">class Solution {public int minSubArrayLen(int target, int[] nums) {int sum = 0;int len = 0;int f = 0;for(int left = 0, right = 0; right < nums.length;){//求和sum += nums[right];while(sum >= target){//lenint t = right - left + 1; if(f == 0 ){len = t;}if(t < len ){len = right - left +1;}f = 1;left++;// if(left >= nums.length){//     break;// }sum -= nums[left-1];}//if(right < nums.length){right++;//}// if(left == nums.length){//     break;// }}return len;}
}

我在处理第一次len得到长度时使用的flag,老师用的时最大值,思路可以借鉴

 

先暴力枚举分析所有情况,做这种题都要这样。根据枚举优化得到滑动窗户做法 

3. 无重复字符的最长子串 

 

java">class Solution {public int lengthOfLongestSubstring(String s) {Set<Character> set = new HashSet<Character>();int n = s.length();int len = 0;for(int left = 0, right = 0; right < n;right++){while(right > 0 && set.contains(s.charAt(right))){set.remove(s.charAt(left));left++;}set.add(s.charAt(right));len = Math.max(len, right -left +1);}return len;}
}

什么时候更新len有点难,多想一下过程的思路 

 

这里用数组来当hash,空间复杂度为O(1),但如果new hash 就是O(N)


http://www.ppmy.cn/devtools/34309.html

相关文章

vs 2022 Xamarin 生成 Android apk

再保存&#xff0c;如果没有生成apk就重启软件 再试一次

【Spring Cloud】服务容错中间件Sentinel入门

文章目录 什么是 SentinelSentinel 具有以下特征&#xff1a;Sentinel分为两个部分: 安装 Sentinel 控制台下载jar包&#xff0c;解压到文件夹启动控制台访问了解控制台的使用原理 微服务集成 Sentinel添加依赖增加配置测试用例编写启动程序 实现接口限流总结 欢迎来到阿Q社区 …

P8799 [蓝桥杯 2022 国 B] 齿轮

P8799 [蓝桥杯 2022 国 B] 齿轮 分析 最右边的齿轮的转速是最左边齿轮的q倍 最右边的齿轮的半径是最左边齿轮的q倍 题意即为&#xff1a;查询数组中是否存在两个数&#xff0c;其中一个是另一个的q倍 题目范围&#xff1a;查询次数q:2*10^5&#xff0c;数组范围2*10^5&…

智能物联网与Web3:连接未来数字生活的桥梁

随着科技的不断进步&#xff0c;智能物联网&#xff08;IoT&#xff09;和Web3技术正成为数字化时代的关键驱动力。智能物联网将各种物理设备连接到互联网&#xff0c;使其能够感知环境、收集数据并与其他设备通信&#xff0c;而Web3技术则以去中心化、安全性和透明性为核心&am…

【Three.js基础学习】13.Particle

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 前言 课堂知识点 1.粒子 2.PointsMaterial 点材质 &#xff1b; 可以设置点材质的 size 大小 &#xff0c; sizeAttenuation 设置这个可以 可以实现缩放粒子 近处的大 远处小…

AtCoder Beginner Contest 335 D题 Loong and Takahashi

D题&#xff1a;Loong and Takahashi 标签&#xff1a;模拟题意&#xff1a;给定奇数 n n n&#xff0c;完成蛇形填数。 ( n < 45 ) (n<45) (n<45)举个例子&#xff1a; n 5 n5 n5 1 2 3 4 5 16 17 18 19 6 15 24 T 20 7 14 23 22 21 8 13 12 11 10 9题解&#xf…

【Linux】目录和文件相关的命令,补充:centos7系统目录结构

【Linux】Linux操作系统的设计理念之一就是“一切皆文件”&#xff08;Everything is a file&#xff09;&#xff0c;即将设备、文件等都当作“文件”处理。 “文件”主要类型有&#xff1a;目录&#xff08;即文件夹&#xff09;&#xff0c;链接文档&#xff08;即快捷方式…

基于频率比模型采用arcgis的滑坡易发性评估

目录 参考视频:频率比模型地形因子处理shp文件与缓冲区地理校准填补缺失值利用模糊隶属度进行归一化易发性结果出图处理:参考视频: 1. ArcGIS滑坡易发性评价_哔哩哔哩_bilibili 2. landslides susceptibility assessemnt using frequently ration approach /滑坡敏感性制图…