当前位置: 首页 > 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以内的完数
  • 未来驾驶的革命:自动驾驶技术与智能交通系统的崛起
  • 「前端早读君006」移动开发必备:那些玩转H5的小技巧
  • Android单元测试 - 几个重要问题
  • css的样式优先级
  • es6--symbol
  • miaov-React 最佳入门
  • MySQL数据库运维之数据恢复
  • Redux系列x:源码分析
  • 测试如何在敏捷团队中工作?
  • 对话:中国为什么有前途/ 写给中国的经济学
  • 技术:超级实用的电脑小技巧
  • 判断客户端类型,Android,iOS,PC
  • 数据结构java版之冒泡排序及优化
  • 一起来学SpringBoot | 第十篇:使用Spring Cache集成Redis
  • ​力扣解法汇总1802. 有界数组中指定下标处的最大值
  • ​软考-高级-信息系统项目管理师教程 第四版【第14章-项目沟通管理-思维导图】​
  • #FPGA(基础知识)
  • #LLM入门|Prompt#1.7_文本拓展_Expanding
  • (编程语言界的丐帮 C#).NET MD5 HASH 哈希 加密 与JAVA 互通
  • (二)c52学习之旅-简单了解单片机
  • (附源码)springboot 房产中介系统 毕业设计 312341
  • (五)Python 垃圾回收机制
  • (原創) 如何優化ThinkPad X61開機速度? (NB) (ThinkPad) (X61) (OS) (Windows)
  • (转)Sql Server 保留几位小数的两种做法
  • (转)关于多人操作数据的处理策略
  • (转)为C# Windows服务添加安装程序
  • ***微信公众号支付+微信H5支付+微信扫码支付+小程序支付+APP微信支付解决方案总结...
  • ..回顾17,展望18
  • ./和../以及/和~之间的区别
  • .NET Core 2.1路线图
  • .net core 6 使用注解自动注入实例,无需构造注入 autowrite4net
  • .net core webapi 大文件上传到wwwroot文件夹
  • .NET 的静态构造函数是否线程安全?答案是肯定的!
  • .NET与java的MVC模式(2):struts2核心工作流程与原理
  • @media screen 针对不同移动设备
  • @RequestBody与@ModelAttribute
  • [BUG] Hadoop-3.3.4集群yarn管理页面子队列不显示任务
  • [bzoj4010][HNOI2015]菜肴制作_贪心_拓扑排序
  • [CERC2017]Cumulative Code
  • [CF407E]k-d-sequence
  • [IE9] 解决了傲游、搜狗浏览器在IE9下网页截图的问题