自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(52)
  • 收藏
  • 关注

原创 day60总结

目前做到了做过的题或者相似类型能反应它属于什么类型,我大概要用什么思路去解决,比方说要动规,贪心还是什么。- 当然了,大部分的题完全依靠自己再写一次,是比较困难的,毕竟本人水平摆在那里。- 计划二刷不只是局限于解题了,在做出来的基础上,自己再多加总结。- 如果你看见了我写的这些文字了,那么陌生人,你好,你也加油。- 基本上就是以“如何做出这道题”为目标,更多的还得慢慢学。- 本人大二,没学过算法,一刷代码随想录。- 所以肯定是有二、三刷甚至更多的。- 总结一下这60天。

2023-09-09 22:52:17 178

原创 day60 单调栈.p3

/ 头尾存0,分别处理heights 全程递减和递增的情况。st.push(0);- 84.柱状图中最大的矩形。

2023-09-09 14:51:24 231

原创 day59 单调栈.p2

/ 例子:有三条高度为4 3 5的柱子,下标分别为0 1 2,在3处的积水块高为 4 - 3,宽为下标2 - 0 - 1;else if (height[i] == height[st.top()]) { // 遇到了俩根挨着的、同高的柱子。i++) { // 再走一遍就相当于循环了一次了。i++) { // 再走一遍就相当于循环了一次了。

2023-09-08 22:25:24 219

原创 day58 单调栈.p1

/ 当前找到的目标元素——num2下标为st.top(),去umap里找对应num1的下标位置。if (umap.count(nums2[st.top()]) > 0) // num2里面有num1的对应元素。// 记num1的值->下标,遍历num2时拿来做对应。- 496.下一个更大元素 I。

2023-09-07 13:17:21 231

原创 day57 动规.p17 子序列

/ 以单个字母为中心。// 以两个字母为中心。// 自己就是一个子串。- 647. 回文子串。- 516.最长回文子序列。

2023-09-06 22:02:47 358

原创 day56 动规.p16 编辑距离

583. 两个字符串的删除操作。- 72. 编辑距离。

2023-09-05 21:21:45 88

原创 day55 动规.p15 子序列

(有一个测试案例过不了,官方题解都过不了)- 392.判断子序列。- 115.不同的子序列。

2023-09-04 23:20:08 544

原创 day53 动规.p14 子序列

53. 最大子序和 动态规划。- 1143.最长公共子序列。- 1035.不相交的线。

2023-09-02 14:00:38 129

原创 day52 动规.p13 子序列

674. 最长连续递增序列。- 300.最长递增子序列。- 718. 最长重复子数组。

2023-09-01 12:43:52 190

原创 day51 动规.p12 买卖股票

/ 0持有股票 1保持卖出 2今天卖出 3冷冻中。- 309.最佳买卖股票时机含冷冻期。- 714.买卖股票的最佳时机含手续费。// 0持有 1不持有。

2023-08-31 11:10:53 226

原创 day50 动规.p11 买卖股票

/ 0啥也不干 1第一次持有 2第一次不持有 3第二次持有 4第二次不持有。- 123.买卖股票的最佳时机III。- 188.买卖股票的最佳时机IV。

2023-08-30 23:14:45 263

原创 day49 动规.p10 买卖股票

dp[i][0]` 第i天持有股票所得到最多钱的情况。`dp[i][1]` 不持有股票所得到最多钱的情况。// 0持有 1不持有。// 0持有 1不持有。- 122.买卖股票的最佳时机II。- 121. 买卖股票的最佳时机。

2023-08-29 10:40:21 238

原创 day48 动规.p9

213.打家劫舍II。- 337.打家劫舍III。- 198.打家劫舍。

2023-08-28 23:00:18 85

原创 day46 动规.p8

/ 如果确定dp[j] 是true,且 [j, i] 这个区间的子串出现在字典里,那么dp[i]一定是true。- 求排列数,先背包再物品。- 139.单词拆分。

2023-08-26 16:47:02 55

原创 day45 动规.p7

70. 爬楼梯 (进阶)- 322. 零钱兑换。- 279.完全平方数。

2023-08-25 12:04:39 98

原创 day44 动规.p6

j++) { // 背包。i++) { // 物品。- 先物品,后背包,得组合数(元素不同的排列算作同一结果)- 先背包,后物品,得排列数。- 518. 零钱兑换 II。- 377. 组合总和 Ⅳ。

2023-08-24 19:53:56 86

原创 day43 动规.p5

计算组合公式,`dp[j] += dp[j - nums[i]];- 1049. 最后一块石头的重量 II。- 494. 目标和。

2023-08-23 15:20:12 67

原创 day42 动规.p4

放物品i,`dp[i - 1][j - weight[i]] + value[i]`- `dp[i][j] = max(不放物品i的情况,放物品i的情况)`- 下标0到 i 的物品里面任取,放进容量 j 的背包,其价值最大值。- j = 0,背包容量0,`dp[i][0] = 0`- i = 0, 可以放物品0时,dp = 物品0的价值。- 不放物品i,`dp[i - 1][j]`//算dp数组,i表示从0到i任取物品,j表示当前背包重量。- `dp[i][j]` 含义。- 416. 分割等和子集。

2023-08-22 18:33:00 46

原创 day41 动规.p3

96.不同的二叉搜索树。- 343. 整数拆分。

2023-08-21 13:25:28 44

原创 day39 动规.p2

63. 不同路径 II。

2023-08-19 13:57:35 44

原创 day38 动规.p1

1. 确定dp数组以及下标的含义。- 746. 使用最小花费爬楼梯。- 509. 斐波那契数。3. dp数组如何初始化。5. 举例推导dp数组。

2023-08-18 14:28:44 32

原创 day37 贪心.p6

738.单调递增的数字。- 968.监控二叉树。

2023-08-17 14:59:41 41

原创 day36 贪心.p5

435. 无重叠区间。- 763.划分字母区间。- 56. 合并区间。

2023-08-16 13:57:19 31

原创 day35 贪心.p4

452. 用最少数量的箭引爆气球。- 406.根据身高重建队列。- 860.柠檬水找零。

2023-08-15 16:06:13 32

原创 day34 贪心.p3

1005.K次取反后最大化的数组和。- 135. 分发糖果。- 134. 加油站。

2023-08-14 14:10:39 30

原创 day32 贪心.p2

122.买卖股票的最佳时机II。- 55. 跳跃游戏。- 45.跳跃游戏II。

2023-08-12 13:34:33 48

原创 day31 贪心.p1

376. 摆动序列。- 455.分发饼干。- 53. 最大子序和。

2023-08-11 21:02:18 31

原创 day29 回溯.p5

491.递增子序列。- 47.全排列 II。

2023-08-09 20:14:00 44

原创 day28 回溯.p4

/若放终止条件里面,会只收集包含nums最后一位元素的所有情况。- 93.复原IP地址。

2023-08-08 16:55:03 28

原创 day27 回溯.p3

40.组合总和II。- 131.分割回文串。- 39. 组合总和。

2023-08-07 15:48:52 20

原创 day25 回溯.p2

17.电话号码的字母组合。- 216.组合总和III。

2023-08-05 17:01:52 26

原创 day24 回溯.p1

递归backtracking()void backtracking(条件) {for (集合元素) {if (终止条件) {- 用于解决什么问题?

2023-08-04 15:12:12 39

原创 day23 二叉树.p9

108.将有序数组转换为二叉搜索树。- 538.把二叉搜索树转换为累加树。- 669. 修剪二叉搜索树。

2023-08-03 18:07:46 33

原创 day22 二叉树.p8

如果在p q之间,就说明当前节点是公共祖先。- 235. 二叉搜索树的最近公共祖先。- 701.二叉搜索树中的插入操作。- 450.删除二叉搜索树中的节点。- 删除节点有5种情况。

2023-08-02 18:08:15 24 1

原创 day21 二叉树.p7

530.二叉搜索树的最小绝对差。- 236. 二叉树的最近公共祖先。- 501.二叉搜索树中的众数。- 涉及前后俩个节点的处理。

2023-08-01 15:51:52 24 1

原创 day20 二叉树.p6

700.二叉搜索树中的搜索。- 654.最大二叉树。- 617.合并二叉树。- 98.验证二叉搜索树。

2023-07-31 12:35:38 90 1

原创 day18 二叉树.p5

513.找树左下角的值。- 112. 路径总和。

2023-07-30 17:08:37 87 1

原创 day17 二叉树.p4

257. 二叉树的所有路径。- 110.平衡二叉树。- 404.左叶子之和。

2023-07-28 16:34:15 140 1

原创 day16 二叉树.p3

如果只是max改成min,上述情况会变成return 空子树的情况,所以加if去限定条件即可。- 类似上题,但是不要忽略了,一边为空,另一边有子树的情况。- 确定左右俩边分支长度一样,则该片全满。- 求最大深度即根节点的高度。- 222.完全二叉树的节点个数。- 104.二叉树的最大深度。- 111.二叉树的最小深度。

2023-07-27 16:34:57 266 1

原创 day15 二叉树.p2

记录当前层,int size = queue.size()就好了,size--到0之前,都是当前层数理论有的节点。- 借用queue记录当前子树的头,把它的左右节点入栈,该头就可以pop了。- 后序,因为我们要先知道子树是否相同,再比较当前根节点,从而以此类推。- 外层和外层比较,内层和内层比较。- 前、后序,不可以用中序。- 每个左右节点俩俩交换。- 101.对称二叉树 2。- 226.翻转二叉树。- 层序遍历 10。

2023-07-26 18:03:20 340 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除