随笔分类 -  秋招-刷题

摘要:377. 组合总和 Ⅳ 一种特殊的完全背包,需要改变下两层循环的方式 322. 零钱兑换 完全背包,但是需要注意DP的含义是最少的硬币个数。 279. 完全平方数 完全背包,和上面的零钱兑换差不多 阅读全文
posted @ 2022-08-13 13:00 _厨师沙拉 阅读(53) 评论(0) 推荐(0)
摘要:494. 目标和 把题目转换成01背包 474. 一和零 一个二维的01背包,本质上还是放与不放的判定。 dp的含义是有几个字符串已经放进去了 518. 零钱兑换 II 完全背包,dp是一维的,两层遍历,外层遍历物品,内层遍历价格,dp[0]=1,dp的含义是该价格下有多少种可能 阅读全文
posted @ 2022-08-12 00:09 _厨师沙拉 阅读(54) 评论(0) 推荐(0)
摘要:416. 分割等和子集 01背包问题,注意01背包的内循环从后往前递归,防止一个物品被放入多次 1049. 最后一块石头的重量 II 这是一道值得思考的题 本质上是01背包,但是需要判断的是放进之后,ret是否变化。因为在构建01背包的全过程中,所有的情况都会被考虑到。因此需要时刻注意ret是否更小 阅读全文
posted @ 2022-08-10 23:52 _厨师沙拉 阅读(48) 评论(0) 推荐(0)
摘要:62. 不同路径 一眼DP,最基础直白的动态规划,用空间换时间。 golang写一遍,复习下创建二维切片的方法 func uniquePaths(m int, n int) int { dp := make([][]int, m) for i := 0; i < m; i++ { dp[i] = m 阅读全文
posted @ 2022-08-07 21:47 _厨师沙拉 阅读(52) 评论(0) 推荐(0)
摘要:509. 斐波那契数 func fib(n int) int { dp := make([]int,3) if n == 0 { return 0 } dp[1] = 0 dp[2] = 1 for i := 2; i <= n; i++ { dp[0], dp[1], dp[2] = dp[1], 阅读全文
posted @ 2022-08-02 00:38 _厨师沙拉 阅读(53) 评论(0) 推荐(0)
摘要:738. 单调递增的数字 思路:从最后一位开始,往前推,如果发现某个数字比右边的数字大,那么从指定的位置开始,直到这个数字的右侧,都换成9,然后这个数字-1。然后继续重复这个过程 import ( "fmt" "strconv" ) func monotoneIncreasingDigits(n i 阅读全文
posted @ 2022-07-31 17:09 _厨师沙拉 阅读(48) 评论(0) 推荐(0)
摘要:因为最近刚刚入职,所以要学习很多的东西,没有多少时间来刷题和学习。最近刚刚忙完一阵,回归刷题。因为转了GO,所以以后刷题用go和java各刷一遍 452. 用最少数量的箭引爆气球 思路:首先按照气球的起始位置排序。i和j,遍历气球。从i到j个气球的尾部如果都包括第j个气球的尾部,那么j++,否则i= 阅读全文
posted @ 2022-07-30 16:54 _厨师沙拉 阅读(43) 评论(0) 推荐(0)
摘要:134. 加油站 我的思路是滑动窗口,复杂度和题解都一样,但是思路太复杂了。 题解的思路: 首先要保证全部的加油耗油算在一起要大于0,这样才能正常走完一圈。 其次,依次按顺序加上加油耗油的差值,如果小于0,就把起始点设在该加油站的后面。 因为我们保证了一定可以走完一圈,所以如果后面某段的油量大于0, 阅读全文
posted @ 2022-07-15 13:42 _厨师沙拉 阅读(58) 评论(0) 推荐(0)
摘要:122. 买卖股票的最佳时机 II 贪心,第二天贵,第一天就买入 55. 跳跃游戏 在走过的路上找能到达最远的point,记录这个最远的点。 然后从上次的位置到这次的最远的点的位置的路径上再走一次,记录最远的点。 如果发现最远的点位置和上次的最远的点的位置一致,那么就意味着无法继续前进了,此时返回f 阅读全文
posted @ 2022-07-14 12:52 _厨师沙拉 阅读(47) 评论(0) 推荐(0)
摘要:455. 分发饼干 两个数组排序,然后大的饼干尽量满足需求大的孩子,不满足的时候往下发放。尽量让所有饼干都能发出去 376. 摆动序列 画个折线图标记每个位置的值的变化情况就能看懂咋回事了。另外需要注意数字相同的情况 53. 最大子数组和 sum+nums[i]<nums[i]的时候,就要重新开始计 阅读全文
posted @ 2022-07-02 12:41 _厨师沙拉 阅读(49) 评论(0) 推荐(0)
摘要:90. 子集 II 一样的套路,没啥值得注意的地方 491. 递增子序列 这个有点意思,要求递增,同时还要保证不重复。这时候我之前一直使用的先排序,后回溯,就不行了,因为排序会打乱原来的顺序。 每一层使用一个HashSet来保证每一层不会出现重复的数。 46. 全排列 需要记录当前已经加入列表的数, 阅读全文
posted @ 2022-06-27 13:46 _厨师沙拉 阅读(51) 评论(0) 推荐(0)
摘要:39. 组合总和 基础的回溯,和之前的差别在于这次回溯中,数组元素可以重复。 另外需要注意的是可以剪枝 40. 组合总和 II 不能出现重复的结果。那么每一层就不能使用相同的数字。 另外还是要注意剪枝 131. 分割回文串 用回溯的思想,分割一个,两个,三个...然后再往下递归,回溯,每次切割一个, 阅读全文
posted @ 2022-06-26 14:15 _厨师沙拉 阅读(49) 评论(0) 推荐(0)
摘要:77. 组合 常规回溯算法,注意剪枝优化 216. 组合总和 III 还是一个常规的回溯算法,剪枝优化在于总和数要大于now,并且当前的已经进入列表的数的数量要小于规定的数量 17. 电话号码的字母组合 还是挺简单的回溯算法 这题让我复习了一下二维数组的初始化方式。 一个一维数组,初始化不能静态动态 阅读全文
posted @ 2022-06-24 13:32 _厨师沙拉 阅读(41) 评论(0) 推荐(0)
摘要:235. 二叉搜索树的最近公共祖先 我怎么感觉前几天做过呢... 翻了题解,发现不一样了... 这个题是二叉搜索树,以前的那个是二叉树 对于二叉搜索树来说,第一个在左右两个节点的值中间的节点就是最近的公共祖先节点。 701. 二叉搜索树中的插入操作 没啥难度,二叉搜索树的基本性质 450. 删除二叉 阅读全文
posted @ 2022-06-23 21:32 _厨师沙拉 阅读(53) 评论(0) 推荐(0)
摘要:617. 合并二叉树 递归,求和,注意null值情况 700. 二叉搜索树中的搜索 基础二叉搜索树的遍历,没啥好说的 98. 验证二叉搜索树 关键在于判断左子树的最右节点和右子树的最左节点和根节点的关系 530. 二叉搜索树的最小绝对差 跟一个二叉搜索树的根比较,和其最相近的两个节点分别是左子树的最 阅读全文
posted @ 2022-06-21 14:45 _厨师沙拉 阅读(40) 评论(0) 推荐(0)
摘要:404. 左叶子之和 深搜,记录每个节点是否是左子节点,再判断自己是否是叶子节点 513. 找树左下角的值 层序遍历,每次更新记录的节点 112. 路径总和 深搜 106. 从中序与后序遍历序列构造二叉树 需要注意的是,中序遍历的分出来的数组长度必然和后续遍历的数组长度一样,这就是分割后续数组的要点 阅读全文
posted @ 2022-06-20 10:09 _厨师沙拉 阅读(62) 评论(0) 推荐(0)
摘要:101. 对称二叉树 每次遇到这个题都犯懵,其实很简单。每次递归判断两个节点的左右和右左。 104. 二叉树的最大深度 找深度,基础题,深度优先搜索,别忘了搜索完之后要回调参数 111. 二叉树的最小深度 题目描述有点奇怪,不过没事,按照题意来。 依旧是深度优先搜索,本题要求必须是叶子节点才算数,根 阅读全文
posted @ 2022-06-19 17:56 _厨师沙拉 阅读(55) 评论(0) 推荐(0)
摘要:热热身,先来几道基础题 144. 二叉树的前序遍历 145. 二叉树的后序遍历 94. 二叉树的中序遍历 三种最基础的二叉树的题目,递归解决 除此之外,所有递归可以解决的问题,栈都可以解决。用栈再重新解决一遍这三个问题. 前序遍历的栈解决很简单,右左中放进栈中,提取出来的结果就是中左右 后序遍历难一 阅读全文
posted @ 2022-06-18 10:58 _厨师沙拉 阅读(64) 评论(0) 推荐(0)
摘要:232. 用栈实现队列 一个栈用于存入,另一个栈用于弹出。 225. 用队列实现栈 两个队列没有主次之分,需要放入的时候放到有对象的队列,需要弹出的时候将对象从有对象的队列放到没对象的队列中,返回最后一个对象即可。 20. 有效的括号 典型的用栈解决的问题,括号问题基本上都是栈解决。 需要注意边界条 阅读全文
posted @ 2022-06-17 11:28 _厨师沙拉 阅读(61) 评论(0) 推荐(0)
摘要:344. 反转字符串 左右两个指针,互换 541. 反转字符串 II 反转指定位置的字符串,本质和上面的一样。需要注意边界条件 剑指 Offer 05. 替换空格 简单的字符串复制 如果不想开辟额外的空间,也可以统计一次有多少空格,然后扩展原来的字符串。随后生成对应的char[],然后使用两个指针, 阅读全文
posted @ 2022-06-16 20:33 _厨师沙拉 阅读(48) 评论(0) 推荐(0)