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

原创 代码随想录算法训练营第60天 | 84

单调栈值得再练练,需要在思路上更加清晰一些。

2023-06-03 13:40:31 629 1

原创 代码随想录算法训练营第59天 | 503、42

主要还是看单调栈的代码熟不熟悉,多多看,多多练。好好看,好好学。

2023-06-02 13:30:08 365

原创 代码随想录算法训练营第58天 | 739、496

单调栈还是第一次学,从本题上看还是比较好识别的。好好看,好好学。相当于上一题的升级版,也是对单调栈应用的考察,好好看,好好学。

2023-06-01 10:49:53 413

原创 代码随想录算法训练营第57天 | 647、516

本题难点在于,确定dp数组,很容易就会想到以i-1结尾的字符串的回文串长度,就没写出来了。动态规划的最后一天了,好好看,好好学。

2023-05-31 10:01:43 308

原创 代码随想录算法训练营第56天 | 583、72

好好看,好好学最近考试周,没细看,我有罪,等考试周结束之后再好好总结。

2023-05-30 20:33:04 933

原创 代码随想录算法训练营第55天 | 392、115

本题看到之后第一时间可能想到的会是使用指针对数组进行遍历和判断,动态规划的思想对我来说确实还不是特别熟练。本题的难点首先在于对dp数组的定义上,确实有点想不到啊,然后就是在递推数组的过程中,要注意考虑到相同元素的问题。好好看,好好学。

2023-05-29 11:11:03 439

原创 代码随想录算法训练营第53天 | 1143、1035、53

最近有点忙,这类题目也没有好好总结,只能是看答案理解,等过段时间再来好好总结一波怎么说呢,我开始是没看出来相同,看了答案之后才明白过来的。好好看,好好学。

2023-05-27 18:18:04 1254

原创 代码随想录算法训练营第52天 |300、674、718

本题是第一个子序列的动态规划应用,好好看,好好学。本题和上一题相比,区别在于必须要连续,那么其实就只需要比较nums[i]和nums[i-1]而不需要再遍历j了。本题要特别注意的就是dp数组含义的确定,这个是真的不太好想。

2023-05-26 13:32:31 1375

原创 代码随想录算法训练营第51天 | 309、714

本题重在能够正确划分出四个状态,并根据四种状态之间的转换来构建dp数组和状态转移方程。理解了之后可能不算太难,但是亲测如果没分好状态真的很难写出来。基础题型上的变体,整体来说难度并不大,只需理解题意,改编基础款股票题即可。

2023-05-25 09:57:07 363

原创 代码随想录算法训练营第50天 | 123、188

答案中其实还有更加优化的方法,将二维数组优化到一维,下次刷的时候再看,我现在的水平实在是不需要一个优化的方法。编码的时候要注意,循环中j一次加两个。其余的在原理上均与上一题相同。好好看,好好学。

2023-05-24 09:23:31 245

原创 代码随想录算法训练营第49天 | 121、122

股票问题是动态规划一个经典的应用,本题重点主要在于动态规划数组的设计和编写。是股票问题的一个升级方向,股票问题还有很多的升级方向,多看多练多复习。

2023-05-23 11:18:58 256

原创 代码随想录算法训练营第48天 |198、213、337

打家劫舍是动态规划的一个经典应用,重在能够加深对于动态规划数组的理解。是打家劫舍的升级版,也是对其的另一种应用。重点在于能够看出环结构房屋的限制需要体现在动态规划之外的限制中。本题其实也可以纯粹后序遍历,也能做,但是超时了。还可以通过遍历过程中记录中间结果,但都没有动态规划简单,或者说是,代码上的简单。答案中提到本题算是树形动态规划的入门题,这守门员属实是不简单啊。

2023-05-22 13:26:18 440

原创 代码随想录算法训练营第46天 | 139

背包问题今天开始就完结了,有一些规律和题型已经大概有些感觉了,再多练几次,我觉得还是有希望的。

2023-05-20 10:48:12 693

原创 代码随想录算法训练营第45天 |70、322、279

这个升级版真的很有思想的,但是,希望面试的时候还是不要碰到这么有思想的考官,简简单单才是真(doge思路上已经开始有点感觉了,编码细节上需要再提高。其实就是还不够熟练所以才会不知道怎么背包,多看多练。

2023-05-19 11:34:50 414

原创 代码随想录算法训练营第44天 |518、377

完全背包的第一道题,仿佛会了又好像没会,感觉思路是跟着答案在走,但自己没什么思考或者说自己没思考出什么东西来。好好看,好好学。动态规划感觉还是没有学会啊,思路每次都需要看答案。

2023-05-18 17:53:22 983

原创 代码随想录算法训练营第43天 | 1049、494、474

有一堆石头,用整数数组 stones 表示。其中 stones[i] 表示第 i 块石头的重量。每一回合,从中选出任意两块石头,然后将它们一起粉碎。假设石头的重量分别为 x 和 y,且 x <= y。那么粉碎的可能结果如下:如果 x == y,那么两块石头都会被完全粉碎;如果 x!= y,那么重量为 x 的石头将会完全粉碎,而重量为 y 的石头新重量为 y-x。最后,最多只会剩下一块 石头。返回此石头 最小的可能重量。如果没有石头剩下,就返回 0。示例1:stones2。

2023-05-17 18:37:59 222

原创 代码随想录算法训练营第42天 | 416

好好看,好好学,动态规划感觉开始上难度了啊,这题我是真的看不出来和01背包的关系了,只能再练练了。

2023-05-16 15:38:59 86

原创 代码随想录算法训练营第41天 | 343、96

动态规划的代码看着简单,但里面的思考量真是一点都不少啊。如果不是亲手写上去的,我真的很难相信这个简单的代码对应的是一道如此难想的题。不过这也从另一个角度说明了动态规划实在是一种很好的方式,可以使复杂的题目简单化。

2023-05-15 10:12:51 112

原创 代码随想录算法训练营第39天 | 62、63

本题是动态规划的一个常见应用,但是有一个问题在于,这种题第一眼看过去很难不会第一时间想到深搜啊。希望下次看到能直接想到动态规划叭。与上一题相比增加了一些难度,尤其是第一次看到的时候确实会踩到一些想大体思路的时候不会直接想到的小坑,还是要注意。总体来说不是很难,但需要注意细节。

2023-05-13 09:51:06 230

原创 代码随想录算法训练营第38天 |509、70、746

典中典的动态规划题了,但可以通过学习该题来逐渐理解动态规划的思想,好好看,好好学。虽然知道动态规划目前做起来感觉不难是因为还没做到那,但还是很开心能做出来。

2023-05-12 14:41:43 105

原创 代码随想录算法训练营第37天 | 738、968

好好看,好好想。看最终代码简单,但中间的思考量是不少的。

2023-05-11 13:37:10 53

原创 代码随想录算法训练营第36天 |435、763、56

能看出是重叠区间的感觉了!再看本题,可以发现是分成两个步骤的:1、统计每个字符最后出现的位置2、从头遍历字符,并更新字符的最远出现下标,如果找到字符最远出现位置下标和当前下标相等了,就是找到了分割点。可以说是相当巧妙了。好好看,好好学!

2023-05-10 11:23:27 71

原创 代码随想录算法训练营第35天 |860、406、452

简单题,分类讨论即可。好好看,好好学。好好看,好好学。

2023-05-09 19:47:26 110

原创 代码随想录算法训练营第34天 | 1005、134、135

思路很清晰,但代码写起来没有那么顺利。但编码时要注意细节。本题可以说是近期做过的,最巧妙的题了。无论是暴力法还是后面的两种解法,都觉得很好。值得多看和多练几遍,但是确实三种解法一种都没想到。。。没见过,多看看。

2023-05-08 13:51:19 77

原创 代码随想录算法训练营第32天 | 122、55、45

不得不说,确实很巧妙,但也不是很好想到。贪心还是需要大量做题来建立感觉才能更好地使用贪心地思路。本题重在思路的转变,要能够将问题转化到覆盖范围上才能最终解决。巧妙确实是巧妙,但我真的想不到,贪心容我再多练练,可能还是没练出感觉。

2023-05-06 08:53:22 177

原创 代码随想录算法训练营第31天 | 455、376、53

先用小饼干喂给小胃口的孩子本身就是一种局部最优,因为对这个饼干来说,没有浪费。而每一个饼干都不浪费就是全局最优。思考量很足的,但是我完全没有思考到。总结:贪心还没学会总结,想不到贪心,贪心还是没学会啊,再看看。

2023-05-05 21:47:43 55

原创 代码随想录算法训练营第30天 | 332、51、37

不是我等凡人应该做的题,可以说是完全想不到,官方答案用的是深搜,过段时间入门了深搜之后再回头看看吧。好好看,好好学。(但感觉好想比332稍微简单那么一点,这是可以说的吗好好看,好好学。

2023-05-05 20:22:39 104

原创 代码随想录算法训练营第29天 | 491、46、47

本题真的是一个跳出套路的题,而且这里是放在了回溯了,其实说他是个深搜的题也完全没问题,反正内核递归也是一个原理。本题的思考量其实很大,跳出套路只是一种说法,本质上是要掌握这种回溯的思想,而不应该拘泥于套路。还得再看看再练练。如果不想使用记录是否用过的used数组也可以看保存元素的列表中是否包含该元素,但这本质上还是一样的,还是推荐解法1。排列第一次接触需要更熟悉。一个意料之中的升级版,是剪枝操作或者说是跳过同层重复元素的又一次应用。好像有点感觉了!

2023-05-05 19:58:41 71

原创 代码随想录算法训练营第28天 | 93、78、90

解法1和解法2的区别主要在于对字符串的操作上,我更喜欢解法1,是比较容易想到的解法。但真的觉得这道题值得一个困难等级,值得反复看,思考量是真的足,CPU烧了。最初看到的时候可能想到的会是如何用条件来约束保存的列表,但想到最后发现好想也不需要条件来约束。那么只需要将其从条件语句中提出来。后面的条件语句中照常写跳出条件即可。去重的又一种应用方式,原理相同但具体的方法有所区别。

2023-05-05 19:33:29 42

原创 代码随想录算法训练营第27天 | 39、40、131

39.组合总和题目描述给你一个 无重复元素 的整数数组 candidates 和一个目标整数 target ,找出 candidates 中可以使数字和为目标数 target 的 所有 不同组合 ,并以列表形式返回。你可以按 任意顺序 返回这些组合。candidates 中的 同一个 数字可以 无限制重复被选取 。如果至少一个数字的被选数量不同,则两种组合是不同的。对于给定的输入,保证和为 target 的不同组合数少于 150 个。示例1:输入:candidates=[2,3,6,7],tar

2023-05-05 16:25:39 146

原创 代码随想录算法训练营第25天 | 216、17

本题是组合问题的一个应用,能够帮助熟悉回溯问题中组合问题的套路。本题即使进行了拆解之后还是很难的,要注意在回溯的过程中生成的字符串要及时更新。

2023-05-05 15:01:42 53

原创 代码随想录算法训练营第24天 |77

回溯此类有很多看起来相似但并不相同的题目,但好在回溯类的题确实是有一些套路的,还是要多看多练。

2023-04-29 23:13:18 58

原创 代码随想录算法训练营第23天 | 669、108、538

本题真的对递归有很强的考察性,这个递归还得再练练啊。递归啊,还得练啊,这使用还是不够啊,还是不会啊。本题其实也可以使用迭代法,但我的评价是没有必要。本题中,能看明白题,想明白应该怎么转化问题才是最重要的,能想到就能破题。

2023-04-27 11:20:23 98

原创 代码随想录算法训练营第22天 | 235、701、450

递归和迭代方法均可,本质都是一样的。但不得不说第一时间想到的肯定是递归的。可以多看看多练练,没想到说明还不熟悉啊。臣做不到啊,会再看看的,这个节点调整以前没写过。

2023-04-26 12:13:19 56

原创 代码随想录算法训练营第21天 |530、501、236

二叉搜索树因为具有大小和顺序上的特点,所以很多和二叉搜索树相关的题目都可以优先考虑中序遍历,利用这种排列关系来解题。这个更新和保存方式,看了答案之后感觉很容易想到,很巧妙,但是没看之前真的死活都没想到,不得不感叹一下我空空如也的脑子。遇到比现结果还多的众数时清空列表然后重新填入,真的,很好。本题看完答案之后感觉很简单,不就是分为几种情况然后讨论一下,递归就可以了。但其实如果是第一次见这道题还是会困惑很久的,首先这几种分类讨论的情况其实没有那么容易思考完全。

2023-04-25 11:27:20 61

原创 代码随想录算法训练营第20天 | 654、617、700、98

能递归的题自然拿迭代也能写,但我的评价是没有必要。直接模拟我觉得就是最好的结果了,能想到,而且仔细想想能写出来,看到这个题第一反应肯定不是迭代的,所以还是好好练练递归,需要的时候能写出来就好。这个题的迭代真的会值得反复观看,感觉是一个层序遍历的经典使用了。能看出来的递归都是好递归!测试案例,真的很绝,不得不说一句,踩中了真的踩中了类型边界值的坑。谁能想到是因为过界了才能没过啊。看了答案才知道是这个问题。

2023-04-24 12:07:04 134

原创 代码随想录算法训练营第18天 |513、112、113、106、105

第一时间想到的是层序遍历,感觉相对来说好想一些吧。递归属于是纯纯没想到然后后补的,以我有限的递归水平来看,属实是不太好想。给你二叉树的根节点 root 和一个整数目标和 targetSum ,找出所有 从根节点到叶子节点 路径总和等于给定目标和的路径。叶子节点 是指没有子节点的节点示例1:root54811null13472nullnull51targetSum22root54811null134。

2023-04-22 16:05:53 123

原创 代码随想录算法训练营第17天 | 110、257、404

简单题,直接写就完事了。回头看能够发现其实就是在普通的二叉树遍历基础上进行了一些改动,但具体改动的位置和操作的细节仍然需要注意。最重要的是能够判断一个节点作为左叶子节点的判断条件。同时,其实做了这么多题会能够发现一大部分的二叉树问题都是在基础遍历的基础上进行改编。在做每一个二叉树问题时最好要先想想应该使用哪一个遍历方式,和使用何种改编方式。

2023-04-21 16:47:03 119

原创 代码随想录算法训练营第16天 | 101、104、111、222

简单题,按顺序比较即可。简单题,层序遍历的迭代法要更熟练一些。能看出来和最大深度差不多然后能想到这个思路就行。写出来的时候要注意判断条件,只有左右孩子都为空的情况才为叶子。初初看到时确实还是要想想怎么利用完全二叉树的条件的,要能够想到转化为高度的问题。

2023-04-20 12:22:17 58

原创 代码随想录算法训练营第15天 | 102、226

层序遍历是二叉树的基础操作,需要能够无需思考的顺利写出。是基本题,但可以很好地增加对二叉树遍历的熟练度。

2023-04-19 13:37:52 58

空空如也

空空如也

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

TA关注的人

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