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

【力扣】面试经典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.xdnf.cn/news/17897.html

相关文章:

  • 如何在 Spring Boot 中设计和返回树形结构的组织和部门信息
  • 在线 A2C实践
  • Transformer模型实现与测试梳理
  • 深入详解C语言的循环结构:while循环、do-while循环、for循环,结合实例,讲透C语言的循环结构
  • 免费专业PDF文档扫描效果生成器
  • 海洋通信系统技术文档(1)
  • uniapp授权登录
  • 比特币持有者结构性转变 XBIT分析BTC最新价格行情市场重构
  • 【计算机网络 | 第6篇】计算机体系结构与参考模型
  • TDengine IDMP 基本功能(4. 实时分析)
  • [QtADS]解析demo.pro
  • 【论文阅读笔记】Context-Aware Hierarchical Merging for Long Document Summarization
  • 【R语言】R语言的工作空间映像(workspace image,通常是.RData)详解
  • 《卷积神经网络(CNN):解锁视觉与多模态任务的深度学习核心》
  • 【完整源码+数据集+部署教程】火柴实例分割系统源码和数据集:改进yolo11-rmt
  • 【类与对象(下)】探秘C++构造函数初始化列表
  • 响应式对象的类型及其使用场景
  • WMware的安装以及Ubuntu22的安装
  • 11.用反射为静态类的属性赋值 C#例子 WPF例子
  • 第六十五章:AI的“精良食材”:图像标注、视频帧抽帧与字幕提取技巧
  • 数据挖掘常用公开数据集
  • 【KO】Android 网络相关面试题
  • Redis 核心数据结构与常用命令详解
  • Qwen-Image(阿里通义千问)技术浅析(二)
  • HTTP 协议详细介绍
  • 第6章 AB实验的SRM问题
  • elasticsearch mapping和template解析(自动分词)!
  • 何解决PyCharm中pip install安装Python报错ModuleNotFoundError: No module named ‘json’问题
  • Flink DataStream 按分钟或日期统计数据量
  • 如何在VS里使用MySQL提供的mysql Connector/C++的debug版本