自定义博客皮肤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-05-23 12:13:17 334

原创 代码随想录第三十九天|不同路径、不同路径 II

题目链接:代码如下:

2024-05-21 16:03:55 298

原创 代码随想录第三十天|N皇后

题目链接:. - 力扣(LeetCode)代码如下:

2024-05-21 15:00:49 367

原创 代码随想录第四十四天| 零钱兑换 II、组合总和 Ⅳ

题目链接:代码如下:

2024-05-21 14:16:03 316

原创 代码随想录第五十六天|回文子串、最长回文子序列

题目链接:代码如下:

2024-05-21 11:24:22 334

原创 代码随想录第六十天|柱状图中最大的矩形

题目链接:. - 力扣(LeetCode)代码如下:

2024-05-21 10:45:26 237

原创 代码随想录第一天(补)|二分查找、移除元素

题目链接:代码如下:

2024-05-20 19:17:39 254

原创 代码随想录第五十七天| 每日温度、下一个更大元素 I

题目链接:代码如下:

2024-05-20 19:04:08 288

原创 代码随想录第五十九天| 下一个更大元素II 、接雨水

题目链接:代码如下:

2024-05-20 18:40:20 256

原创 代码随想录第五十五天| 两个字符串的删除操作、编辑距离

两个字符串的删除操作可以有两种方法,第一种是一种取巧的思路,利用之前的最长公共子序列得到本题两个字符串删除操作得到的最终字符串,此时只要将两个原本的字符串长度相加再减去最终字符串长度乘以二就是结果;

2024-05-16 20:04:28 200

原创 代码随想录第五十四天|判断子序列、不同的子序列

题目链接:代码如下:

2024-05-16 16:08:48 267

原创 代码随想录第五十三天|最长公共子序列、不相交的线

今天的两道题其实是一模一样的思路,代码可以完全复制,如下:题目链接:代码如下:

2024-05-15 11:41:52 263

原创 代码随想录第五十一天|最长递增子序列、最长连续递增序列、最长重复子数组

题目链接:. - 力扣(LeetCode)题目链接:. - 力扣(LeetCode)题目链接:. - 力扣(LeetCode)

2024-05-13 20:29:12 247

原创 代码随想录第五十天|最佳买卖股票时机含冷冻期、买卖股票的最佳时机含手续费

最佳买卖股票时机含冷冻期与打家劫舍的题目有异曲同工之妙,主要是出现了天数的间隔,一次需要在。如代码所示,在需要调整日期的地方改条件为隔两天即可。买卖股票的最佳时机含手续费这道题目也与。

2024-05-11 14:39:55 293

原创 代码随想录第四十九天|买卖股票的最佳时机Ⅲ、买卖股票的最佳时机Ⅳ

题目链接:. - 力扣(LeetCode)题目链接:. - 力扣(LeetCode)买卖股票的最佳时机Ⅲ、买卖股票的最佳时机Ⅳ两道题目非常相似,只是次数为已知的两次与k次的区别,而与买卖股票的最佳时机Ⅱ也很相似,只是多了一个参数而已,因此代码是基本相同的,以下分别为购买两次与k次的代码:

2024-05-11 14:31:58 301

原创 代码随想录第四十三天|最后一块石头的重量 II 、目标和

题目链接:代码如下:

2024-05-09 20:09:55 207

原创 代码随想录第四十八天|买卖股票的最佳时机、买卖股票的最佳时机Ⅱ

在代码里需要注意hold参数代表是否持有股票,true代表该状态下是持有的,false代表该状态下是不持有的。

2024-05-09 13:59:26 228

原创 代码随想录第四十七天|打家劫舍、打家劫舍Ⅱ、打家劫舍Ⅲ

为了避免超出range边界,将减法改为加法,则偷的选择就是整体加2,因为正常nums的范围是[0, n-1], 加2后就是n+1,因此最后return n+1,代表取值范围。不偷当前(i)的房子,则子问题变为前i-1个房子的偷取金额,偷当前(i)的房子,则子问题变为前i-2个房子的偷取金额;第三题同样改思路为偷与不偷的思路。

2024-05-08 17:29:51 317

原创 代码随想录第四十六天|单词拆分

题目链接:. - 力扣(LeetCode)

2024-05-07 20:44:55 303

原创 代码随想录第四十五天|爬楼梯、零钱兑换、完全平方数

题目链接:代码如下:题目链接:代码如下:

2024-05-06 18:49:32 236

原创 代码随想录第四十二天|背包问题、分割等和子集

题目链接:代码如下:方法一:方法二:方法三:方法四:方法五:方法六:方法七:

2024-04-30 19:00:02 298

原创 代码随想录第四十一天|整数拆分、不同的二叉搜索树

题目链接:. - 力扣(LeetCode)题目链接:. - 力扣(LeetCode)通过以上的代码可以看出动态规划是有固定模板的:

2024-04-29 20:21:47 277

原创 代码随想录第三十八天|斐波那契数

题目链接:. - 力扣(LeetCode)

2024-04-26 18:33:10 248

原创 代码随想录第三十七天|单调递增的数字

这道题目的难点在于考虑遍历顺序,以及单纯的满足单调递增是不行的,还要保证单调递增的最大值,这个条件就使得数字的个位数以及有必要的最后几位都是数字“9”,具体代码如下:其中,flag是数字的分界线,低于这个分界线的位数都需要设置为9.总结:贪心算法最主要的就是是由局部最优推出全局最优。

2024-04-25 20:31:02 287

原创 代码随想录第三十六天|无重叠区间、划分字母区间、合并区间

题目链接:代码如下:

2024-04-24 20:16:35 166

原创 代码随想录第三十五天|柠檬水找零、根据身高重建队列 、用最少数量的箭引爆气球

题目链接:这道题比较简单,只要按照要求分类讨论即可,需要注意的是当顾客支付20美元时,优先要给顾客找零10元,以下为具体代码:题目链接:根据身高重建队列这道题优先需要考虑的是选择身高排序还是排次排序,因为题目是对应身高前有多少人,因此是在身高排序的基础上继续后续的考虑,故而在编写代码的过程中应该优先对身高排序,以下为具体代码:

2024-04-23 20:23:42 309

原创 代码随想录第三十四天|K次取反后最大化的数组和、分发糖果

题目链接:. - 力扣(LeetCode)题目链接:. - 力扣(LeetCode)

2024-04-22 20:18:01 259

原创 代码随想录第二十七天|组合总和、组合总和II 、分割回文串

本题的整体结构与上一题大致一样,但是本题同一个数只能用一次(不是数值相同的数),另外一个难点时结果中不能出现重复的数组,这样就会导致原candidates数组中存在相同数值的数时直接遍历结果必定会出现重复的答案,因此需要去重。在判断返回时只存在两种情况,等于target或大于target。每添加一个数时都要判断一次。

2024-04-20 18:34:33 278

原创 代码随想录第三十二天|买卖股票的最佳时机II 、跳跃游戏、跳跃游戏II

第三天卖出价 - 第一天买入价=(第三天卖出价 - 第二天买入价)+( 第二天卖出价 - 第一天买入价)在代码中,i是走到的格点位置(下标),cover是目前走到的最大范围。需要注意的说第一天是不会产生利润的,因此遍历应该从1开始。

2024-04-20 15:26:12 253

原创 代码随想录第三十一天|分发饼干、摆动序列、最大子序和

题目链接:分发饼干的基本思路是优先让胃口大的孩子能吃饱,因此当饼干数足够的时候由大到小遍历即可,以下为具体代码:

2024-04-19 18:36:12 160

原创 代码随想录第二十八天(补)|复原IP地址 、子集、子集II

题目链接:. - 力扣(LeetCode)题目链接:. - 力扣(LeetCode)题目链接:. - 力扣(LeetCode)

2024-04-17 20:44:26 230

原创 代码随想录第二十九天|递增子序列、全排列、全排列 II

题目链接:. - 力扣(LeetCode)题目链接:. - 力扣(LeetCode)题目链接:. - 力扣(LeetCode)

2024-04-17 20:38:46 150

原创 代码随想录第二十四天(补)|组合

题目链接:. - 力扣(LeetCode)组合这道题目需要用回溯的算法实现暴力遍历的方法,终止条件是当子组合的数目达到k值,即目标组合长度,在未达目标值的条件下不断给子组合追加值,最后再调用函数值后再回溯,以下为具体代码:

2024-04-15 09:14:27 256

原创 代码随想录第二十五天(补)|电话号码的组合

题目链接:. - 力扣(LeetCode)电话号码的组合一题首先要将键盘上的数字与字母匹配,再根据digits的数字缺点给遍历的深度,遍历中随时通过回溯获得其他的字母组合,以下为具体代码:

2024-04-13 17:36:17 245

原创 代码随想录第二十三天|修剪二叉搜索树、将有序数组转换为二叉搜索树、把二叉搜索树转换为累加树

这里需要注意,在递归的过程中要确保顺序正确。

2024-04-11 20:29:54 221 1

原创 代码随想录第二十二天|二叉搜索树的最近公共祖先、二叉搜索树中的插入操作、删除二叉搜索树中的节点

题目链接:二叉树的最近公共祖先最核心的思路是他们的公共祖先的值一定是介于两个值p、q之间的,满足这个要求就是他们的祖先,那么,用递归或者迭代的思路就是只要祖先的值都大于或都小于两个值就需要继续迭代或递归,以下为具体代码:题目链接:二叉树中的插入操作由于题目放宽了解题限制因而写作比较简单,只要循着二叉搜索树的规则遍历下去,找到val值可以存放的位置直接插入即可,以下为代码:题目链接:删除二叉搜索树主要是分的情况很多,有以下五种:

2024-04-10 20:12:57 279 1

原创 代码随想录第二十一天|二叉搜索树的最小绝对差 、二叉搜索树中的众数、二叉树的最近公共祖先

题目链接:. - 力扣(LeetCode)题目链接:. - 力扣(LeetCode)题目链接:

2024-04-09 20:26:21 297

原创 代码随想录第二十天|最大二叉树、合并二叉树、二叉搜索树中的搜索

合并二叉树主要是要同时遍历两个二叉树,当两者有一个为空时,就返回另一个,否则就将两个树节点的值加和返回。

2024-04-08 20:29:00 301

原创 代码随想录第十七天(补)|平衡二叉树、二叉树的所有路径 、左叶子之和

题目链接:平衡二叉树可以用递归的思路来解,最主要的就是判读左子树与右子树的高度是否满足要求,满足要求就是实际的子树的高度,而不满足就选择用-1来表示,当一层判断过后再递归调用子树的子树,代码如下:题目链接:本题最主要的是回溯,因为要返回所有的路径,因此在遍历过当前分支后就要返回并从另一个分支向下遍历,以下为具体代码:

2024-04-07 20:18:22 195

原创 代码随想录第十八天|找树左下角的值、 路径总和、路径总和Ⅱ、从中序与后序遍历构造二叉树

从中序与后序遍历构造二叉树中,首先明确中序遍历指遍历顺序为左中右,后序遍历为左右中,因此后序遍历的最后一个一定为中间节点,以此为分界点分成左片段与右片段,而刚刚得到的点放在中序遍历中正好把一个树的左分支与右分支分开,以此类推进行迭代,就可以得到代码。看代码,首先需要知道,输入参数就是树,也即root,而输出则是最深处的左节点的值,终止条件是当找不到更深的层时就不需要继续了,由代码可知,当queue有值的时候,需要一层层遍历,只要节点有子节点就在queue中补充,当到最底层的时候返回节点的值。

2024-04-06 23:30:29 311 1

空空如也

空空如也

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

TA关注的人

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