自定义博客皮肤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)
  • 收藏
  • 关注

原创 代码随想录算法训练营 个人总结

训练营周期:2023/12/27 - 2024/2/29,共计65天。

2024-02-29 16:06:50 551

原创 代码随想录算法训练营第64天/最后一天 | 84.柱状图中最大的矩形

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

2024-02-28 18:34:51 437

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

503.下一个更大元素II42. 接雨水。

2024-02-27 20:04:41 702

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

739. 每日温度496.下一个更大元素 I。

2024-02-26 19:35:43 628

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

647. 回文子串516.最长回文子序列动态规划总结篇。

2024-02-24 17:40:03 641

原创 代码随想录算法训练营第59天 | 583.两个字符串的删除操作 + 72.编辑距离 + 编辑距离总结篇

题目链接:. - 力扣(LeetCode)思路:两个字符串都可以删除,dp[i][j]表示以 i-1 为结尾的字符串word1 和以 j-1 位结尾的字符串word2想要达到相等所需要删除元素的最少次数题目链接:力扣-72. 编辑距离思路: 编辑距离是用动规来解决的经典题目;dp[i][j] 表示以下标 i-1 为结尾的字符串word1,和以下标 j-1 为结尾的字符串word2,最小编辑距离编辑距离问题总结:代码随想录

2024-02-23 23:14:44 481

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

为编辑距离做铺垫,第二题难度还是有一些的,但理解了也很容易写出dp数组。

2024-02-22 18:16:51 378

原创 代码随想录算法训练营第57天 | 1143.最长公共子序列 + 1035.不相交的线 + 53.最大子序和(动态规划)

依旧是考研题型,第二题是第一题的变种。

2024-02-21 18:39:02 505

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

考研题型。

2024-02-20 16:53:39 329

原创 代码随想录算法训练营第51天 | 309.最佳买卖股票时机含冷冻期 + 714.买卖股票的最佳时机含手续费 + 股票问题总结

题目链接:力扣(LeetCode)官网 - 全球极客挚爱的技术成长平台思路:出现冷冻期后,状态变得更加复杂,具体可以区分出如下四个状态: 状态一:持有股票状态(今天买入股票,或者是之前就买入了股票然后没有操作,一直持有) 不持有股票状态,这里就有两种卖出股票状态 状态二:保持卖出股票的状态(两天前就卖出了股票,度过一天冷冻期。或者是前一天就是卖出股票状态,一直没操作) 状态三:今天卖出股票 状态四:今天为冷冻期状态,但冷冻期状态不可持续,只有一天因为本题

2024-02-19 16:24:48 511

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

今日题目和昨天是一个类型,但在题目难度上有提升,需要考虑的情况增多,需要仔细捋清楚。

2024-02-18 16:28:09 483

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

一维滚动数组理解和书写难度还是有点高的。

2024-02-17 16:40:45 463

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

第三题树型dp之前看就不是很清晰,还是基础不牢。

2024-02-16 19:37:51 332

原创 代码随想录算法训练营第51天 | 139.单词拆分 + 多重背包理论基础 + 背包问题总结

代码随想录。

2024-02-15 20:03:55 977

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

昨天消息吞了,今天补上,几道题套路还是完全背包。

2024-02-15 19:28:58 383

原创 代码随想录算法训练营第44天 | 完全背包理论基础 + 518.零钱兑换 II + 377.组合总和 Ⅳ

对于纯完全背包问题,其for循环的先后循环是可以颠倒的如果题目稍稍有点变化,就会体现在遍历顺序上。

2024-02-08 13:18:51 461

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

力扣(LeetCode)官网 - 全球极客挚爱的技术成长平台有一堆石头,用整数数组 stones 表示。其中 stones[i] 表示第 i 块石头的重量。每一回合,从中选出任意两块石头,然后将它们一起粉碎。假设石头的重量分别为 x 和 y,且 x <= y。那么粉碎的可能结果如下:如果 x == y,那么两块石头都会被完全粉碎;如果 x!= y,那么重量为 x 的石头将会完全粉碎,而重量为 y 的石头新重量为 y-x。最后,最多只会剩下一块 石头。返回此石头 最小的可能重量。

2024-02-07 19:53:06 943

原创 代码随想录算法训练营第42天 | 01背包问题理论基础 + 416.分割等和子集

01背包是后续背包问题的基础。

2024-02-06 17:13:21 1306

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

今日任务343.整数拆分 96.不同的二叉搜索树343.整数拆分 - Medium题目链接:力扣(LeetCode)官网 - 全球极客挚爱的技术成长平台 给定一个正整数 n ,将其拆分为 k 个 正整数 的和( k >= 2 ),并使这些整数的乘积最大化。 返回 你可以获得的最大乘积 。思路:dp[i]表示分拆数字 i 可以得到的最大乘积;递推公式 dp[i] = max({dp[i], (i - j) * j, dp[i - j] * j}),

2024-02-05 16:29:35 528

原创 代码随想录算法训练营第39天 | 62.不同路径 + 63.不同路径 II

题目二相较于题目一在初始化时要注意碰到障碍物时的处理。

2024-02-03 16:27:50 950

原创 代码随想录算法训练营第38天 | 动态规划理论基础 + 509.斐波那契数 + 70.爬楼梯 + 746.使用最小花费爬楼梯

今日题是动态规划入门题,通过简单题理解动态规划思想和动态规划五部曲。

2024-02-02 19:46:06 1143

原创 代码随想录算法训练营第37天 | 738.单调递增的数字 + 贪心算法总结

代码随想录在做贪心题的过程中,如果再来一个数据证明,其实没有必要,手动模拟一下,如果找不出反例,就试试贪心。面试中,代码写出来跑过测试用例即可,或者自己能自圆其说理由就行判断一道题目是贪心的依据,如果找不出局部最优,那可能就是一道模拟题。

2024-02-01 13:59:41 548

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

今日三道题都是重叠问题,思路上和昨天用🗡引爆气球大致相同。

2024-01-31 15:59:10 526

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

第三题注意题目中说的是:满足 xstart ≤ x ≤ xend,则该气球会被引爆。那么说明两个气球挨在一起不重叠也可以一起射爆,所以代码中不能是>=

2024-01-30 18:25:49 1097

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

第一题第二次贪心代码选择可优化性能第二题加油站还有一种从全局考虑贪心的做法第三题要注意处理完一端再处理另一端。

2024-01-29 17:04:06 1324

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

以最小的步数增加最大的覆盖范围,直到覆盖范围覆盖了终点,这个范围内最少步数一定可以跳到,不用管具体是怎么跳的,不纠结于一步究竟跳一个单位还是两个单位。

2024-01-27 17:04:00 505

原创 代码随想录算法训练营第31天 | 贪心理论基础 + 455.分发饼干 + 376.摆动序列 + 53.最大子序和

情况一:上下坡中有平坡情况二:数组首尾两端情况三:单调坡中有平坡第三道考研中使用过动态规划算法求解,贪心算法求解也了解过,比较熟悉。

2024-01-26 17:37:24 1083

原创 代码随想录算法训练营第30天 | 回溯总结 + 3道Hard题目

代码随想录回溯是递归的副产品,只要有递归就会有回溯,所以回溯法也经常和二叉树遍历,深度优先搜索混在一起,因为这两种方式都是用了递归。回溯法就是暴力搜索,并不是什么高效的算法,最多再剪枝一下。回溯法的模板:for循环横向遍历,递归纵向遍历,回溯不断调整结果集void backtracking(参数) {if (终止条件) {存放结果;return;for (选择:本层集合中元素(树中节点孩子的数量就是集合的大小)) {处理节点;backtracking(路径,选择列表);// 递归。

2024-01-25 15:54:08 1010

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

每层都是从0开始搜索而不是startIndex需要used数组记录path里都放了哪些元素了。

2024-01-24 16:23:23 507

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

昨日综合拓展变型题。

2024-01-23 17:14:50 618

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

第三题比较综合。

2024-01-22 16:25:03 484

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

第二题中的for循环,不像是在回溯算法:求组合问题!和回溯算法:求组合总和!中从startIndex开始遍历的因为本题每一个数字代表的是不同集合,也就是求不同集合之间的组合,而77. 组合和216.组合总和III都是求同一个集合中的组合。

2024-01-20 16:19:18 578

原创 代码随想录算法训练营第24天 | 回溯理论基础 + 77.组合

考研压轴题,没复习到,初步认识回溯法,学习了剪枝的使用。

2024-01-19 16:46:06 1246

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

代码随想录涉及到二叉树的构造,无论普通二叉树还是二叉搜索树一定前序,都是先构造中节点。求普通二叉树的属性,一般是后序,一般要通过递归函数的返回值做计算。求二叉搜索树的属性,一定是中序了,要不白瞎了有序性了。注意在普通二叉树的属性中,用的是一般为后序,例如单纯求深度就用前序,二叉树:找所有路径也用了前序,这是为了方便让父节点指向子节点。所以求普通二叉树的属性还是要具体问题具体分析。

2024-01-18 15:42:44 523 1

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

第三题若为平衡二叉树要注意调整树的结构。

2024-01-17 18:36:59 946

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

第三题:求最小公共祖先,需要从底向上遍历,那么二叉树,只能通过后序遍历(即:回溯)实现从底向上的遍历方式。在回溯的过程中,必然要遍历整棵二叉树,即使已经找到结果了,依然要把其他节点遍历完,因为要使用递归函数的返回值(也就是代码中的left和right)做逻辑判断。要理解如果返回值left为空,right不为空为什么要返回right,为什么可以用返回right传给上一层结果。

2024-01-16 17:34:51 709 1

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

三四题充分利用二叉搜索树的性质还是比较好解的。

2024-01-15 18:51:02 1127

原创 代码随想录算法训练营第18天 | 513.找树左下角的值 + 112. 路径总和 + 113.路径总和II + 106.从中序与后序遍历序列构造二叉树 + 105.从前序与中序遍历序列构造二叉树

构造二叉树理论不难理解,主要是代码比较多,要细致统一规范。

2024-01-13 17:41:49 924 1

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

第一题注意区分高度和深度,第二题回溯搞得不是很明白。

2024-01-12 22:56:00 475 1

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

今日主要是递归法,迭代法放到二刷,重点是处理好递归三部曲。

2024-01-11 19:48:41 442

空空如也

空空如也

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

TA关注的人

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