自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 代码随想录算法训练营第六十五天|总结篇

三言两语总结不了,全在网站里了。

2024-02-28 23:31:28 410

原创 代码随想录算法训练营第六十四天|柱状图中最大的矩形

84.柱状图中最大的矩形。

2024-02-27 22:51:40 428

原创 代码随想录算法训练营第六十三天|503.下一个更大元素II , 42. 接雨水

503.下一个更大元素II。

2024-02-26 23:54:42 396

原创 代码随想录算法训练营第六十二天|739. 每日温度 , 496.下一个更大元素 I

496.下一个更大元素 I。

2024-02-26 02:51:38 407

原创 代码随想录算法训练营第六十天| 647. 回文子串 , 516.最长回文子序列,动态规划总结篇

516.最长回文子序列。

2024-02-24 00:22:03 377

原创 代码随想录算法训练营第五十九天|

本题和动态规划:115.不同的子序列 相比,其实就是两个字符串都可以删除了,情况虽说复杂一些,但整体思路是不变的。最终我们迎来了编辑距离这道题目,之前安排题目都是为了 编辑距离做铺垫。583. 两个字符串的删除操作。

2024-02-23 04:43:46 402

原创 代码随想录算法训练营第五十八天|392.判断子序列 ,115.不同的子序列

这道题目算是 编辑距离问题 的入门题目(毕竟这里只是涉及到减法),慢慢的,后面就要来解决真正的 编辑距离问题了。115.不同的子序列。

2024-02-22 01:08:30 368

原创 代码随想录算法训练营第五十七天|1143.最长公共子序列,1035不相交的线,53最大子序和

1143.最长公共子序列。1035.不相交的线。

2024-02-20 09:07:05 352

原创 代码随想录算法训练营第五十六天|300.最长递增子序列 , 674. 最长连续递增序列 ,718. 最长重复子数组

因为本题要求连续递增子序列,所以就只要比较nums[i]与nums[i - 1],而不用去比较nums[j]与nums[i] (j是在0到i之间遍历)。既然不用j了,那么也不用两层for循环,本题一层for循环就行,比较nums[i] 和 nums[i - 1]。题相对于昨天的动态规划:300.最长递增子序列 最大的区别在于“连续”。今天开始正式子序列系列,本题是比较简单的,感受感受一下子序列题目的思路。674. 最长连续递增序列。718. 最长重复子数组。300.最长递增子序列。

2024-02-20 03:30:38 333

原创 代码随想录算法训练营第五十五天|309.最佳买卖股票时机含冷冻期,714.买卖股票的最佳时机含手续费

最后结果是取 状态二,状态三,和状态四的最大值,别把状态四忘了,状态四是冷冻期,最后一天如果是冷冻期也可能是最大值。714.买卖股票的最佳时机含手续费。309.最佳买卖股票时机含冷冻期。

2024-02-19 00:08:31 350

原创 代码随想录算法训练营第五十四天|123.买卖股票的最佳时机III , 188.买卖股票的最佳时机IV

一定是选最大的,所以 dp[i][1] = max(dp[i-1][0] - prices[i], dp[i - 1][1]);所以dp[i][2] = max(dp[i - 1][1] + prices[i], dp[i - 1][2])那么dp[i][1]究竟选 dp[i-1][0] - prices[i],还是dp[i - 1][1]呢?123.买卖股票的最佳时机III。188.买卖股票的最佳时机IV。

2024-02-18 03:25:35 371

原创 代码随想录算法训练营第五十三天|121. 买卖股票的最佳时机, 122.买卖股票的最佳时机II

122.买卖股票的最佳时机II。121. 买卖股票的最佳时机。

2024-02-17 00:25:03 396

原创 代码随想录算法训练营第五十二天|198.打家劫舍 , 213.打家劫舍II , 337.打家劫舍III

那么实际上有1个元素(不是0个),因此。337.打家劫舍III。最后一题小迷糊,等日后再来。213.打家劫舍II。

2024-02-15 23:42:46 338

原创 代码随想录算法训练营第五十一天|139.单词拆分

"apple", "pen" 是物品,那么我们要求 物品的组合一定是 "apple" + "pen" + "apple" 才能组成 "applepenapple"。而本题其实我们求的是排列数,为什么呢。拿 s = "applepenapple", wordDict = ["apple", "pen"] 举例。"apple" + "apple" + "pen" 或者 "pen" + "apple" + "apple" 是不可以的,我们就是强调物品之间顺序。

2024-02-15 00:30:48 383

原创 代码随想录算法训练营第五十天|70. 爬楼梯 (进阶),322. 零钱兑换 , 279.完全平方数

这道题目 爬楼梯之前我们做过,这次再用完全背包的思路来分析一遍。如果求组合数就是外层for循环遍历物品,内层for遍历背包。如果求排列数就是外层for遍历背包,内层for循环遍历物品。本题 和 322. 零钱兑换 基本是一样的。70. 爬楼梯 (进阶)

2024-02-14 01:20:46 354

原创 代码随想录算法训练营第三十八天|完全背包, 518. 零钱兑换 II ,377. 组合总和 Ⅳ

518. 零钱兑换 II。377. 组合总和 Ⅳ。这道题要注意顺序问题了。

2024-02-08 00:16:32 358

原创 代码随想录算法训练营第三十七天|1049. 最后一块石头的重量 II ,494. 目标和 , 474.一和零

通过这道题目,大家先粗略了解, 01背包,完全背包,多重背包的区别,不过不用细扣,因为后面 对于 完全背包,多重背包 还有单独讲解。本题物品的重量为stones[i],物品的价值也为stones[i]。本题其实就是尽量让石头分成重量相同的两堆,相撞之后剩下的石头最小,1049. 最后一块石头的重量 II。

2024-02-07 03:33:47 415

原创 代码随想录算法训练营第三十六天|背包问题

416. 分割等和子集。本题是 01背包的应用类题目。

2024-02-06 01:23:47 405

原创 代码随想录算法训练营第三十五天|343. 整数拆分 , 96.不同的二叉搜索树

96.不同的二叉搜索树。

2024-02-05 00:25:36 360

原创 代码随想录算法训练营第三十四天|62.不同路径 , 63. 不同路径 II

63. 不同路径 II。

2024-02-03 01:16:49 413

原创 代码随想录算法训练营第三十三天|509. 斐波那契数 ,● 70. 爬楼梯 , 746. 使用最小花费爬楼梯

509. 斐波那契数70. 爬楼梯746. 使用最小花费爬楼梯。

2024-02-02 05:19:05 572

原创 代码随想录算法训练营第三十二天| 738.单调递增的数字 ,968.监控二叉树

【代码】代码随想录算法训练营第三十二天| 738.单调递增的数字 ,968.监控二叉树。

2024-02-01 00:32:51 512

原创 代码随想录算法训练营第三十一天|435. 无重叠区间 , 763.划分字母区间,56. 合并区间

435. 无重叠区间。763.划分字母区间。本题相对来说就比较难了。

2024-01-31 05:29:28 338

原创 代码随想录算法训练营第三十天|860.柠檬水找零 , 406.根据身高重建队列, 452. 用最少数量的箭引爆气球

情况三:账单是20,优先消耗一个10和一个5,如果不够,再消耗三个5。和分发糖果类似,不要两头兼顾,处理好一边再处理另一边。情况二:账单是10,消耗一个5,增加一个10。452. 用最少数量的箭引爆气球。情况一:账单是5,直接收下。406.根据身高重建队列。本题是一道 重叠区间的题目。

2024-01-30 02:07:16 540

原创 代码随想录算法训练营第二十九天|1005.K次取反后最大化的数组和 ,134. 加油站,135. 分发糖果

第二次贪心的思路,局部最优:只找数值最小的正整数进行反转,当前数值和可以达到最大(例如正整数数组{5, 3, 1},反转1 得到-1 比 反转5得到的-5 大多了),全局最优:整个 数组和 达到最大。第一次贪心的思路,局部最优:让绝对值大的负数变为正数,当前数值达到最大,整体最优:整个数组和达到最大。本题涉及到一个思想,就是想处理好一边再处理另一边,不要两边想着一起兼顾。

2024-01-29 01:55:05 347

原创 代码随想录算法训练营第二十八天|122.买卖股票的最佳时机II , 55. 跳跃游戏 ,45.跳跃游戏II

122.买卖股票的最佳时机II。

2024-01-27 01:14:52 402

原创 代码随想录算法训练营第二十七天|455.分发饼干 , 376. 摆动序列 , 53. 最大子序和

局部最优:当前“连续和”为负数的时候立刻放弃,从下一个元素重新计算“连续和”,因为负数加上下一。个元素 “连续和”只会越来越小。情况一:上下坡中有平坡。情况三:单调坡中有平坡。情况二:数组首尾两端。

2024-01-26 00:35:39 378

原创 代码随想录算法训练营第二十六天|总结

代码随想录

2024-01-25 00:42:48 359

原创 代码随想录算法训练营第二十五天| 491.递增子序列* 46.全排列* 47.全排列 II

【代码】代码随想录算法训练营第二十五天| 491.递增子序列* 46.全排列* 47.全排列 II。

2024-01-24 05:21:58 345

原创 代码随想录算法训练营第二十四天|93.复原IP地址 ,78.子集 ,90.子集II

如果把 子集问题、组合问题、分割问题都抽象为一棵树的话,

2024-01-23 00:13:38 369

原创 代码随想录算法训练营第二十三天|39. 组合总和, 40. 组合总和 II,131.分割回文串

本题开始涉及到一个问题了:去重。

2024-01-22 00:15:24 421

原创 代码随想录算法训练营第二十二天| 216.组合总和III, 17.电话号码的字母组合

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

2024-01-20 00:35:04 311

原创 代码随想录算法训练营第二十一天| 理论基础 ,77. 组合

因为回溯法解决的都是在集合中递归查找子集,,所有回溯法的问题都可以抽象为树形结构!

2024-01-19 02:22:45 363

原创 代码随想录算法训练营第二十天|669. 修剪二叉搜索树 ,108.将有序数组转换为二叉搜索树 ,538.把二叉搜索树转换为累加树

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

2024-01-18 04:04:19 343 1

原创 代码随想录算法训练营第十九天|235. 二叉搜索树的最近公共祖先 , 701.二叉搜索树中的插入操作, 450.删除二叉搜索树中的节点

5.左右都不为空的情况(将删除节点的左子树头结点(左孩子)放到删除节点的右子树的最左面节点的左孩子上,返回删除节点右孩子为新的根节点)235. 二叉搜索树的最近公共祖先。701.二叉搜索树中的插入操作。450.删除二叉搜索树中的节点。2.左不空,右空(直接让父节点连接)3.右不空,左空(直接让父节点连接)4.没找到要删除的节点。1.叶子节点左右为空。

2024-01-17 05:30:12 340

原创 代码随想录算法训练营第十八天|530.二叉搜索树的最小绝对差 , 501.二叉搜索树中的众数 ,236. 二叉树的最近公共祖先

想要从下往上处理一定是后序遍历,如果在递归中找到了p或者q就不需要继续寻找了,因为此时就是最近公共祖先。530.二叉搜索树的最小绝对差。236. 二叉树的最近公共祖先。501.二叉搜索树中的众数。

2024-01-16 03:13:44 376 1

原创 代码随想录算法训练营第十七天|654.最大二叉树 ,617.合并二叉树 ,700.二叉搜索树中的搜索 , 98.验证二叉搜索树

题目中说了输入的数组大小一定是大于等于1的,所以我们不用考虑小于1的情况,那么当递归遍历的时候,如果传入的数组大小为1,说明遍历到了叶子节点了。遇到 搜索树,一定想着中序遍历,这样才能利用上特性。700.二叉搜索树中的搜索。98.验证二叉搜索树。

2024-01-15 04:40:54 324

原创 代码随想录算法训练营第十六天|513.找树左下角的值,112. 路径总和,112. 路径总和

第四步:切割中序数组,切成中序左数组和中序右数组 (顺序别搞反了,一定是先切中序数组)第二步:如果不为空,那么取后序数组最后一个元素作为节点元素。第三步:找到后序数组最后一个元素在中序数组的位置,作为切割点。第五步:切割后序数组,切成后序左数组和后序右数组。第一步:如果数组大小为零的话,说明是空节点了。第六步:递归处理左区间和右区间。

2024-01-13 00:51:12 356 1

原创 代码随想录算法训练营第十五天|110.平衡二叉树, 257. 二叉树的所有路径, 404.左叶子之和

257. 二叉树的所有路径 (优先掌握递归)110.平衡二叉树 (优先掌握递归)从根节点到叶子的路径,所以需要前序遍历。404.左叶子之和 (优先掌握递归)

2024-01-12 00:19:22 331

原创 代码随想录算法训练营第十四天|104.二叉树的最大深度 559.n叉树的最大深度, 111.二叉树的最小深度, 222.完全二叉树的节点个数

其实是一个后序遍历求的高度,左右中(从下向上来统计,一层一层往上返回)222.完全二叉树的节点个数(优先掌握递归)104.二叉树的最大深度 (优先掌握递归)111.二叉树的最小深度 (优先掌握递归)559.n叉树的最大深度。

2024-01-11 05:59:40 305

空空如也

空空如也

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

TA关注的人

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