当前位置: 首页 > news >正文

双指针和codetop复习

双指针和codetop复习

  • 1.双指针
    • 1.[移动零](https://leetcode.cn/problems/move-zeroes/description/)
  • 递归
    • 1.[计算布尔二叉树的值](https://leetcode.cn/problems/evaluate-boolean-binary-tree/)
    • 2.[Pow(X,n)](https://leetcode.cn/problems/powx-n/)
    • 3.[两两交换链表中的节点](https://leetcode.cn/problems/swap-nodes-in-pairs/description/)
  • 动态规划
    • 1.[不同路径](https://leetcode.cn/problems/unique-paths/description/)
    • 2.[不同路径II](https://leetcode.cn/problems/unique-paths-ii/description/)
  • 贪心
    • 1.[最大数](https://leetcode.cn/problems/largest-number/description/)

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+1n+1),把(0,1)或者(1,0)初始化为1
在这里插入图片描述

2.不同路径II

在这里插入图片描述

贪心

1.最大数

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

http://www.dtcms.com/a/334879.html

相关文章:

  • Hexo 双分支部署指南:从原理到 Netlify 实战
  • 【遥感图像技术系列】遥感图像风格迁移的研究进展一览
  • SymPy 矩阵到 NumPy 数组的全面转换指南
  • Redis 04 Reactor
  • eChart饼环pie中间显示总数_2个以上0值不挤掉
  • 【集合框架List进阶】
  • 【UHD】vivado 2021.1 编译
  • 选择式与生成式超启发算法总结
  • 模型训练监控:TensorBoard与Weights Biases (WB) 使用详解
  • CVE-2024-28752漏洞复现
  • 电子电气架构 --- 软件项目配置管理
  • 序列晋升7:架构原则三十诫
  • 内网穿透实战笔记 1panel 面板部署 frps,Windows 部署 frpc
  • 程序设计|C语言教学——C语言基础3:函数、数组、指针
  • Python虚拟环境与包管理工具(uv、Conda)
  • 一汽红旗7月销量37324辆 同比增长21.1%
  • B站 韩顺平 笔记 (Day 20)
  • P2169 正则表达式
  • 如何运用好DeepSeek为自己服务:智能增强的范式革命 1.1 认知增强的三次浪潮
  • 项目管理进阶——解读大型IT系统集成项目实施要点培训【附全文阅读】
  • GLM-4-Flash:智谱AI推出的首个免费API服务,支持128K上下文
  • 制作 Windows 11 启动U盘
  • Redis缓存
  • Win11和Win10共享打印机提示709用添加Windows凭据来解决的小方法
  • select、poll 和 epoll
  • Python入门第5课:如何定义和使用函数,提升代码复用性
  • Jenkins Pipeline中参数化构建
  • 【wmi异常】关于taskkill命令提示“错误:找不到” 以及无法正常获取设备机器码的处理办法
  • 读书是一场最低成本的高级成长
  • 嵌入式硬件篇---运算放大器