日常刷题记录

每天写一个小时算法题,难度考研难度,对应力扣中等难度题
贴不贴代码,其实都无所谓,因为leetcode上有很多代码,也有很多讲解。
但是重要的代码,我还是会贴上来的,比如快速排序代码,考试会用到

链表

143. 重排链表 稍微难点,可以利用递归的回溯,在回溯的时候,把尾巴拿去插入,插入节点在每次插入后,进行后移。这种方法比较简洁,但是思想有点难阐述代码

排序

简单

桶排序(简单)
剑指 Offer 40. 最小的k个数
归并排序 归并排序就是得用额外O(n)空间,但是复杂度是严格N*log(N)的
快速排序 考研的快速排序代码会超时,可以看过的组数,我过了11组,代码是正确的

二叉树

简单题

144. 二叉树的前序遍历
145. 二叉树的后序遍历
226. 翻转二叉树
404. 左叶子之和

中等题

保持两个序列对应实时对应到同一颗子树,然后递归去构建二叉树
105. 从前序与中序遍历序列构造二叉树
106. 从中序与后序遍历序列构造二叉树
层序遍历相关:
637. 二叉树的层平均值
515. 在每个树行中找最大值

二叉搜索树

108. 将有序数组转换为二叉搜索树 有分治的思想
95. 不同的二叉搜索树 II 就递归的选择在区间[L,R]中选择哪个作为根节点,这里递归返回的是子树的根节点,因为不唯一,所以返回vector 代码

分治

稍微难点,这题就是用分治来处理最大字段和
面试题 16.17. 连续数列

动态规划

简单题
62. 不同路径 应该是人人都会的题
63. 不同路径 II 相比上一个题就是直接让某些dp[i][j] 设置成0
64. 最小路径和 苏途同归,稍加修改一下dp转移方程就可以了

中等题
152. 乘积最大子数组
377. 组合总和 Ⅳ 给一个数组,从数组中找有多少个可以组成一个数的不同排列。使用多重背包,但是第一维是容量,第二维才是物品体积。代码

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值