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

Leetcode【双指针法】

目录

一、left right在一个循环里

二、两个指针在各自的循环里

三、slow fast追逐型

四、slow fast条件型


双指针法常用与题型:数组、字符串、链表、N数之和

一、left right在一个循环里

left right在一个循环里。

left和right移动需要条件,一般是向中间移动left++,right--。对于二分法向middle位置移动。

704. 二分查找

34. 在排序数组中查找元素的第一个和最后一个位置:不用二分法会简单一点,单步移动的,而且注意for中return行的位置

344. 反转字符串:注意使用swap(char,char)函数

54. 替换数字(第八期模拟笔试):如果为了不用额外的辅助空间,可以先计算总长度,left指针倒序遍历旧数组,right指针倒序填写新数组。

15. 三数之和:值得回顾

18. 四数之和:值得回顾11. 盛最多水的容器:left和right谁小就移动谁

二、两个指针在各自的循环里

两个指针分别在各自的循环里,为了记录特征索引

941. 有效的山脉数组:left right两个指针各相对而行跑一遍,找出山峰位置,最后判断left和right能不能相遇

面试题 02.07. 链表相交:两个指针各跑一遍,为了找出两个链表的长度差

三、slow fast追逐型

slow和fast的速度不同(一般slow速度1,fast速度2),或者初始位置不同

 链表:

143. 重排链表:slow速度1,fast速度2,可以方便的找到中心链表

面试题 02.07. 链表相交142. 环形链表 II:slow速度1,fast速度2,可以解决环形链表找入环位置

19. 删除链表的倒数第 N 个结点:fast先走n,slow再走n,可以找到倒数第n个节点

四、slow fast条件型

fast无脑++,而slow需要满足一定条件才能保存元素后++

数组

283. 移动零:向这种要原地修改的一看就像是要用双指针

27. 移除元素​​​​​​​

待补充..

相关文章:

  • 海山数据库(He3DB)原理剖析:浅析OLAP数据库计算引擎中的统计信息
  • 机器学习——概述总结
  • MongoDB【应用 01】通过_id获取记录创建时间(生成规则+解析步骤+源码分享)
  • 计算机组成原理(存储器)
  • 全量知识系统 程序详细设计 之 先验逻辑-实现:从“平凡”回到“平凡” (QA 百度搜索)
  • Echarts-实现地图并轮播地图信息
  • WebView的使用与后退键处理
  • CRMEB多商户商城系统,不止B2B2C
  • 【RISC-V 指令集】RISC-V 向量V扩展指令集介绍(八)- 向量整数算术指令
  • 【c++】string类常见接口函数
  • SpringMVC项目入门
  • python 读取文件内容每一行,写入另一个文件内
  • 微服务-7 Docker
  • 【Java基础题型】遍历1000以内的完数
  • 未来驾驶的革命:自动驾驶技术与智能交通系统的崛起
  • __proto__ 和 prototype的关系
  • 【个人向】《HTTP图解》阅后小结
  • avalon2.2的VM生成过程
  • ECMAScript 6 学习之路 ( 四 ) String 字符串扩展
  • iOS仿今日头条、壁纸应用、筛选分类、三方微博、颜色填充等源码
  • Java知识点总结(JDBC-连接步骤及CRUD)
  • Laravel5.4 Queues队列学习
  • magento 货币换算
  • Node 版本管理
  • NSTimer学习笔记
  • vue从创建到完整的饿了么(18)购物车详细信息的展示与删除
  • vue中实现单选
  • 对JS继承的一点思考
  • 记一次和乔布斯合作最难忘的经历
  • 每天一个设计模式之命令模式
  • k8s使用glusterfs实现动态持久化存储
  • ​3ds Max插件CG MAGIC图形板块为您提升线条效率!
  • ​configparser --- 配置文件解析器​
  • ​TypeScript都不会用,也敢说会前端?
  • #NOIP 2014# day.1 T3 飞扬的小鸟 bird
  • #QT项目实战(天气预报)
  • #前后端分离# 头条发布系统
  • #我与Java虚拟机的故事#连载19:等我技术变强了,我会去看你的 ​
  • (C语言)输入自定义个数的整数,打印出最大值和最小值
  • (Ruby)Ubuntu12.04安装Rails环境
  • (二十三)Flask之高频面试点
  • (附源码)ssm码农论坛 毕业设计 231126
  • (黑客游戏)HackTheGame1.21 过关攻略
  • (七)MySQL是如何将LRU链表的使用性能优化到极致的?
  • . NET自动找可写目录
  • .NET CF命令行调试器MDbg入门(一)
  • .NET DataGridView数据绑定说明
  • .NET Framework .NET Core与 .NET 的区别
  • .NET Project Open Day(2011.11.13)
  • .Net 中Partitioner static与dynamic的性能对比
  • .NetCore 如何动态路由
  • .NET处理HTTP请求
  • .Net中间语言BeforeFieldInit
  • @Autowired自动装配
  • @javax.ws.rs Webservice注解