优先算法1--双指针

"一念既出,万山无阻。"加油陌生人!

目录

1.双指针--移动零

2.双指针-复写零


ok,首先在学习之前,为了方便大家后面的学习,我们这里需要补充一个知识点,我这里所谓的指针,不是之前学习的带有*的那个指针,我们这里的数组的下标,类似充当指针作用,在这里我们也叫做指针!

了解之后,现在我们开始进入学习!!!

1.双指针--移动零

首先我们带入题来进行教学:

解题思路:

代码如下:

2.双指针-复写零

解题思路:

1.用两个指针,一个指向截止元素,一个指向数组最后一个位置。然后,从后往前进行,是的没错从后往前,**那么原因是,如果从前往后去遍历,**则会覆盖数字,造成错误。

例子(从前往后,错误示范)

这个不就把"2"覆盖了吗,对吧!!!所以从前往后是错误的!

正确写法:(从后往前)

问题1(寻找截止数):问题又来了?我们从后往前,怎么知道从最后哪里开始 呢?答案:先遍历一遍,找到截止"数"

结束之后,我们就找到了截止数是"4" .

问题二(考虑边界问题)一个小陷阱,如果在寻找截止数的时候,在边界情况,prev>n-1,越界了,这个时候我们如何处理。

代码如下:

步骤三(从后往前遍历)

完整代码:

相关推荐
船厂电气自动化ai大模型7 小时前
AI大模型与数学 第32课 函数凹凸性与二阶导数:拐点求解、凹凸区间计算(10道二阶导数计算题)
数据结构·人工智能·python·深度学习·算法
旖旎夜光7 小时前
LeetCode 3:无重复字符的最长子串(滑动窗口) —— 题解
数据结构·c++·算法·leetcode·滑动窗口
汉字萌萌哒7 小时前
2024CSP-J入门级C++真题详解
开发语言·c++
hy.z_7778 小时前
【C++】13. 继承
c++
汉字萌萌哒8 小时前
2019CCF-CSP入门级C++试题解析
java·开发语言·c++
叠层归一研究院8 小时前
AGI 系统(十一):二阶网络 — 二阶递归 × 多主体 (元符号网络)
开发语言·人工智能·算法·php·agi
2401_890603409 小时前
C++ 继承
c++
zlinear数据采集卡9 小时前
D223的PWM电机控制:6路独立脉冲+加减速算法深度解析
arm开发·stm32·嵌入式硬件·算法·fpga开发·架构
杨石兴9 小时前
31、玩具MoM:用2x2矩阵串起全套流程
人工智能·算法·矩阵·电磁学
果果燕10 小时前
C++ 学习笔记(二):类与对象—— 构造函数与析构函数
开发语言·c++