双指针和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}

相关推荐
寂静山林14 分钟前
UVa 1471 Defense Lines
算法
纵有疾風起33 分钟前
C++模版:模板初阶及STL简介
开发语言·c++·经验分享·开源
QT 小鲜肉38 分钟前
【个人成长笔记】Qt Creator快捷键终极指南:从入门到精通
开发语言·c++·笔记·qt·学习·学习方法
CHANG_THE_WORLD1 小时前
switch语句在汇编层面的几种优化方式 ,为什么能进行优化
汇编·算法·switch·汇编分析·switch case·switch case 汇编·switch case 语句
勇闯逆流河1 小时前
【C++】用红黑树封装map与set
java·开发语言·数据结构·c++
实心儿儿1 小时前
C++——内存管理
c++
山,离天三尺三1 小时前
深度拷贝详解
开发语言·c++·算法
Blossom.1181 小时前
把AI“撒”进农田:基于极值量化与状态机的1KB边缘灌溉决策树
人工智能·python·深度学习·算法·目标检测·决策树·机器学习
一只鱼^_1 小时前
第 167 场双周赛 / 第 471 场周赛
数据结构·b树·算法·leetcode·深度优先·近邻算法·迭代加深
我狸才不是赔钱货1 小时前
容器:软件世界的标准集装箱
linux·运维·c++·docker·容器