快慢双指针算法笔记

文章目录

双指针严格来说不是一种算法,而是一种思路。

场景

数组长度为n+1,值在1~n之间,有且仅有一个重复数。

  1. 数组值在合法下标范围内 (如长度为n+1,值在1~n之间)

  2. 可以形成链表结构

  • 将数组视为链表:index -> nums[index] -> nums[nums[index]] -> ...

  • 重复元素会导致环的形成

解决方案

为什么要以值作为下标?

刚看到这时不好理解,后来才发现自己没看清题,这道题的前提之一就是长度为n+1,值在1-n之间,所以可以把值作为下标传入。

相关推荐
ting945200021 小时前
Humalike X Hermes 深度技术剖析:单指令注入群聊社交智能的底层架构、算法与跨 IM 平台实现
人工智能·算法·架构
吴声子夜歌21 小时前
Java面试——算法
java·算法·面试
h_a_o777oah1 天前
【图论】Tarjan 缩点:解决有向图中环的问题
c++·算法·图论·acm·强连通分量·缩点·tarjan
Tisfy1 天前
LeetCode 1386.安排电影院座位:哈希表+位运算
算法·leetcode·散列表·题解·哈希表
Nil2081 天前
leetcode 199二叉树的右视图
算法·leetcode·深度优先
xian_wwq1 天前
【学习笔记】-深度认知系列-第1讲-AI不是魔法——三句话讲清楚人工智能到底是什么
笔记·学习·深度认知
M78佐菲1 天前
c语言学习笔记:排序与查找方法整理
linux·c语言·笔记·学习·算法
摇滚侠1 天前
《SpringBoot 3:入门与应用实战》第 5 章 使用 Spring Boot 阅读笔记 9
java·spring boot·笔记
浪兎兎1 天前
Docker 容器技术笔记
笔记·docker·容器