(算法一) 双指针

双指针的理解: 双指针并不是真的去为数组定义指针,而是利用数组的元素的下标

题型1:原地移动处理数组元素的位置

由异地数组操作------>原地双指针操作

要注意的是如果dest会提前覆盖cur指针之后的值,那么就应该变换cur dest的位置

快慢双指针:

慢指针(slow)走一步,快指(fast)针走两步
快乐数

左右双指针:

由暴力解法优化------>通过控制左右指针的移动实现优化
容器的最大容积

有是需要随数组进行排序(sort)再使用左右指针
有效三角形的个数

排序+左右指针

两数之和
. 查找总价格为目标值的两个商品

三数之和:循环:固定一个,左右指针遍历一遍-

四数数之和:循环:固定一个,固定一个,,左右指针遍历一遍-
三数之和
四数之和

注意去重操作

相关推荐
报错小能手3 小时前
C++笔记——STL map
c++·笔记
思麟呀5 小时前
Linux的基础IO流
linux·运维·服务器·开发语言·c++
星释5 小时前
Rust 练习册 :Pythagorean Triplet与数学算法
开发语言·算法·rust
星释5 小时前
Rust 练习册 :Nth Prime与素数算法
开发语言·算法·rust
多喝开水少熬夜5 小时前
Trie树相关算法题java实现
java·开发语言·算法
QT 小鲜肉6 小时前
【QT/C++】Qt定时器QTimer类的实现方法详解(超详细)
开发语言·数据库·c++·笔记·qt·学习
WBluuue6 小时前
数据结构与算法:树上倍增与LCA
数据结构·c++·算法
bruk_spp6 小时前
牛客网华为在线编程题
算法
呆瑜nuage7 小时前
C++之红黑树
c++
亮剑20187 小时前
第2节:程序逻辑与控制流——让程序“思考”
开发语言·c++·人工智能