(算法一) 双指针

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

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

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

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

快慢双指针:

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

左右双指针:

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

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

排序+左右指针

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

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

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

注意去重操作

相关推荐
南东山人2 小时前
一文说清:C和C++混合编程
c语言·c++
LNTON羚通3 小时前
摄像机视频分析软件下载LiteAIServer视频智能分析平台玩手机打电话检测算法技术的实现
算法·目标检测·音视频·监控·视频监控
哭泣的眼泪4085 小时前
解析粗糙度仪在工业制造及材料科学和建筑工程领域的重要性
python·算法·django·virtualenv·pygame
Ysjt | 深5 小时前
C++多线程编程入门教程(优质版)
java·开发语言·jvm·c++
ephemerals__5 小时前
【c++丨STL】list模拟实现(附源码)
开发语言·c++·list
Microsoft Word5 小时前
c++基础语法
开发语言·c++·算法
天才在此6 小时前
汽车加油行驶问题-动态规划算法(已在洛谷AC)
算法·动态规划
一只小小汤圆6 小时前
opencascade源码学习之BRepOffsetAPI包 -BRepOffsetAPI_DraftAngle
c++·学习·opencascade
legend_jz6 小时前
【Linux】线程控制
linux·服务器·开发语言·c++·笔记·学习·学习方法