双指针和codetop复习

双指针和codetop复习

1.双指针

1.移动零

//创建双指针,cur=0,dest=-1,

//cur的作用,扫描数组,nums[cur]==0,cur++ nums[cur]!=0时,再处理

//这样就把数组分成三个部分,[0,dest]:已经处理的[dest+1,cur-1]:里面全部是0,[cur,size]:全是待处理的部分

递归

1.计算布尔二叉树的值

2.Pow(X,n)

//这种暴力递归不可取,计算 myPow(x, n) 时,需要递归 n 次(比如 n=10000 就要递归 10000 层)。当 n 很大(比如 n=1e9),会触发栈溢出或超时

//这道题叫快速幂,所以在上面的暴力做优化,每次都算n的一半,比如n=10,第一次算n=5,第二次算n=2,这样就可以达到快速降幂

3.两两交换链表中的节点

//提前保存要返回的指针也就是第一次head->next,然后只交换节点中的val,然后head向后走两步

动态规划

1.不同路径

//mn,但是开(m+1 n+1),把(0,1)或者(1,0)初始化为1

2.不同路径II

贪心

1.最大数

//先把所有数字to_string到vector ,然后把里面的所有string用sort(默认升序)排序,用sort时,重新写下排序规则 [](string s1,string s2){return s1+s2>s2+s1}

相关推荐
WolfGang00732114 分钟前
代码随想录算法训练营 Day53 | 图论 part11
算法·图论
呃呃本16 分钟前
算法题(图论)
算法·图论
一只数据集23 分钟前
商超上货人形机器人全身运控数据集分析——Kuavo 5机器人5W型号夹爪末端执行器操作轨迹数据
人工智能·算法·机器人
蜡笔小马33 分钟前
03.C++设计模式-原型模式
c++·设计模式·原型模式
神仙别闹38 分钟前
基于QT(C++)实现线性表的建立、插入、删除、查找等基本操作
java·c++·qt
谙弆悕博士1 小时前
【附Python源码】基于决策树的信用卡欺诈检测实战
python·学习·算法·决策树·机器学习·数据分析·scikit-learn
MATLAB代码顾问1 小时前
黏菌算法(SMA)原理详解与Python实现
开发语言·python·算法
salipopl1 小时前
C/C++ 中 volatile 关键字详解:原理、作用与实际应用
开发语言·c++
张赫轩(不重名)1 小时前
图论3:连通性问题(复杂度均为 O(N + M) )
c++·算法·图论·拓扑学