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

【力扣】面试经典150题总结02-双指针、滑动窗口

1.验证回文串(简单)

用toLowerCase()转为小写字母,然后前后指针向中间进行比对。

2.判断子序列(简单)

两个指针一个指向长字符串,另一个指向短字符串。匹配就都+1,不匹配就将长字符串指针+1。长字符串指针遍历完前把短字符串匹配完则返回true,否则false。

3.两数之和II(中等)

找到数组中相加和等于target的两个数。数组是非递减顺序,所以可以前后指针。如果前后指针之和>target,就把后指针-1,<target则+1,等于则返回答案。

4.盛水最多的容器(中等)

前后指针。判断那边更高,矮的一边往中间移动,每次维护最大容量。

5.三数之和(中等)

找数组中三个数和为0。外循环i跳过重复元素,创建前后指针left和right,left从i+1开始,right从n-1开始。如果三数之和==0,存进数组并且跳过左右的重复元素、<0则left++、>0则right--。

6.长度最小的子数组(中等)

滑动窗口。记录start和end,每次累加end的值到sum中。如果sum<target,就让end后移,否则便符合题意>=target,将start右移,sum-=start的值。用Integer.MAX_VALUE作为result的初值,并在>=target时更新。

7.无重复字符的最长子串(中等)

滑动窗口+哈希表。右边界判断是否存在,不存在则加入哈希表,存在则将左边界移动到当前重复的位置,右边界移动到下一个位置。

 

http://www.dtcms.com/a/330253.html

相关文章:

  • Kubernetes 网络排错
  • 《嵌入式Linux应用编程(四):Linux Framebuffer图形编程》
  • 数学建模算法-day[17]
  • 【Spring Ai框架】
  • CMake笔记:配置(Configure)、生成(Generate)和构建(Build)
  • 软件架构重构:从混沌到有序的系统性演进
  • 第6节 torch.nn介绍
  • 什么是脏读、幻读、不可重复读?
  • linux编程----文件(framebuffer)
  • 正则表达式解析(三)
  • 方法论基础。
  • 与Deepseek对话了解无线电通信知识
  • 自动曝光算法参考
  • Linux Framebuffer(帧缓冲)与基本 UI 绘制技术
  • GitHub宕机时的协作方案
  • 力扣 hot100 Day72
  • Transformer开端
  • 有效涂色问题-二维dp
  • C++进阶之lambda三种回调方式性能差异(四百二十七)
  • 【13】Transformers快速入门:Transformers 分词器 (Tokenizer) 实战?
  • 哈希表之两个数组的交集(leetcode349)
  • 智能合约开发全流程实战指南
  • 【LeetCode】4. 寻找两个正序数组的中位数
  • 芯伯乐300kHz降压DC/DC转换器XBL4005:4.5V~40V宽电压范围,5A大电流高效输出
  • 三伍微电子GSR2406 IoT FEM 2.4G PA 射频前端模组芯片
  • 深入解析C语言嵌套结构体的内存管理与操作实践
  • linux_网络层-ip协议
  • [系统架构设计师]信息安全技术基础知识(三)
  • SpringBoot3+ Elasticsearch8 Spring-data-Elasticsearch使用
  • 多模态数据集分级方案设计与实现