优先算法1--双指针

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

目录

1.双指针--移动零

2.双指针-复写零


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

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

1.双指针--移动零

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

解题思路:

代码如下:

2.双指针-复写零

解题思路:

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

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

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

正确写法:(从后往前)

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

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

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

代码如下:

步骤三(从后往前遍历):

完整代码:

相关推荐
生态学者5 小时前
Global Change Biology | 森林越“步调一致”,反而越怕干旱?树木生长与叶片活动的同步之谜
大数据·人工智能·算法·r语言·微信公众平台
所以遗憾是什么呢?5 小时前
【题解】Educational Codeforces Round 195 (Rated for Div. 2) ABCDE
c++·动态规划·acm·icpc·ccpc·xcpc·codeforecs
lsswear6 小时前
Agent 框架新手入门与实战部署指南
大数据·人工智能·算法
Lhan.zzZ7 小时前
Qt WebEngineView 在 Linux 上无法加载网页:从“看不见 HTML“到“禁用沙箱“
linux·c++·qt
Data analyse4567 小时前
rnweb 回放数据量太大怎么办?分片存储与断点续传的实现思路
前端·网络·算法·数据分析
sysu_chenxy9 小时前
二重循环输出二维图形
c++
Navigator_Z9 小时前
LeetCode //C - 1293. Shortest Path in a Grid with Obstacles Elimination
c语言·算法·leetcode
Nil2089 小时前
leetcode 64最小路径和
算法·leetcode·职场和发展
光影少年9 小时前
AI Agent、自动化与未来工作
人工智能·算法·架构
牧羊人.33310 小时前
计算机视觉基础 第16章|EigenFace,FisherFace,LBPH传统人脸识别算法
人工智能·算法·计算机视觉