自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 代码随想录算法训练营第十五天| LeetCode110 平衡二叉树、LeetCode257 二叉树的所有路径、LeetCode404 左叶子之和、LeetCode222 完全二叉树的节点个数

代码随想录PDF,代码随想录网站,代码随想录百度网盘,代码随想录知识星球,代码随想录八股文PDF,代码随想录刷题路线,代码随想录知识星球八股文。代码随想录PDF,代码随想录网站,代码随想录百度网盘,代码随想录知识星球,代码随想录八股文PDF,代码随想录刷题路线,代码随想录知识星球八股文。代码随想录PDF,代码随想录网站,代码随想录百度网盘,代码随想录知识星球,代码随想录八股文PDF,代码随想录刷题路线,代码随想录知识星球八股文。第一想法:遍历一遍,找到所有的叶子节点,筛选出左叶子。难点:筛左叶子的方法。

2024-09-18 16:22:18 32

原创 代码随想录算法训练营第三十四天|LeetCode62 不同路径 、LeetCode63 不同路径 II 、LeetCode343 整数拆分、LeetCode96 不同的二叉搜索树

代码随想录PDF,代码随想录网站,代码随想录百度网盘,代码随想录知识星球,代码随想录八股文PDF,代码随想录刷题路线,代码随想录知识星球八股文。代码随想录PDF,代码随想录网站,代码随想录百度网盘,代码随想录知识星球,代码随想录八股文PDF,代码随想录刷题路线,代码随想录知识星球八股文。代码随想录PDF,代码随想录网站,代码随想录百度网盘,代码随想录知识星球,代码随想录八股文PDF,代码随想录刷题路线,代码随想录知识星球八股文。LeetCode63 不同路径 II。今日收获:一道做不出。

2024-09-17 13:15:15 115

原创 代码随想录算法训练营第十四天| LeetCode226 翻转二叉树、LeetCode101 对称二叉树、LeetCode104 二叉树的最大深度、LeetCode111 二叉树的最小深度

代码随想录PDF,代码随想录网站,代码随想录百度网盘,代码随想录知识星球,代码随想录八股文PDF,代码随想录刷题路线,代码随想录知识星球八股文。代码随想录PDF,代码随想录网站,代码随想录百度网盘,代码随想录知识星球,代码随想录八股文PDF,代码随想录刷题路线,代码随想录知识星球八股文。代码随想录PDF,代码随想录网站,代码随想录百度网盘,代码随想录知识星球,代码随想录八股文PDF,代码随想录刷题路线,代码随想录知识星球八股文。第一想法:DFS,当找到第一个没有子节点的节点,他的深度就是最浅的深度。

2024-09-16 01:06:17 170

原创 代码随想录算法训练营第十三天|LeetCode94 二叉树中序、LeetCode144 二叉树前序、LeetCode145 二叉树后序、

代码随想录PDF,代码随想录网站,代码随想录百度网盘,代码随想录知识星球,代码随想录八股文PDF,代码随想录刷题路线,代码随想录知识星球八股文。第一想法:中序:左中右;难点:迭代方法, 统一的遍历方法也很妙。看完随想录后:中序的迭代方法,没有想到。LeetCode144 二叉树前序。LeetCode145 二叉树后序。LeetCode94 二叉树中序。

2024-09-15 13:49:46 175

原创 代码随想录算法训练营第三十二天|LeetCode509 斐波那契数 、LeetCode70 爬楼梯、LeetCode746 使用最小花费爬楼梯

代码随想录PDF,代码随想录网站,代码随想录百度网盘,代码随想录知识星球,代码随想录八股文PDF,代码随想录刷题路线,代码随想录知识星球八股文。代码随想录PDF,代码随想录网站,代码随想录百度网盘,代码随想录知识星球,代码随想录八股文PDF,代码随想录刷题路线,代码随想录知识星球八股文。代码随想录PDF,代码随想录网站,代码随想录百度网盘,代码随想录知识星球,代码随想录八股文PDF,代码随想录刷题路线,代码随想录知识星球八股文。第一想法:没想明白,dp初始的0和1应该初始成什么。看完随想录后:一样的过程。

2024-09-14 19:02:31 141

原创 代码随想录算法训练营第三十一天| LeetCode56 合并区间、LeetCode738 单调递增的数字 、LeetCode968 监控二叉树

看完随想录后:思路一样,不过没有想到把需要借位前的每一位都改成9这种操作。这样确实就纠正了解决不了100到99的问题。第一想法:确实跟上一天的很相似。intervals排序,用 x[0] 排序。第一想法:计算每一层node的个数,然后个一行放一个监控。第一想法:感觉应该从后往前,一位一位的订下来。解决不了需要多为此借数的情况。难点:使用给每个node标0,1,2的方法,并且理清楚逻辑。看完随想录后:过于复杂,自己尝试理解,默写。LeetCode738 单调递增的数字。看完随想录后:思路一样。

2024-09-14 04:31:48 149

原创 代码随想录算法训练营第三十天|LeetCode452 用最少数量的箭引爆气球、LeetCode435 无重叠、LeetCode763 划分字母区间

排序后,用while loop,把能合并的区间都合并到一起。因为points是排好序的,那么base[0] 一定是小于等于curr[0], 那么就有两种情况:1.base[1] >= curr[0] and curr[1] >= base[1];第一种情况合并后的区间为[curr[0],base[1]], 第二种情况合并后的情况是[curr[0], curr[1]]points[i][1] = min(points[i][1], points[i - 1][1]) 也很妙,让我的两个if直接简化成一行。

2024-09-14 00:58:08 309

原创 代码随想录算法训练营第二十九天|LeetCode134 加油站、LeetCode135 分发糖果、LeetCode860 柠檬水找零、LeetCode406 根据身高重建队列

看完随想录后:两个方法,感觉有一点点的对不上。所有的test case都捕捉不到在gas-cost的累计和不为负数,还会有跑不完一圈的情况。这一点,我一直没有像通透。答案是唯一的,那感觉有更加方便的判定方法。第一想法:每一个位置都是固定的,都有最合适的哪一个元素,那么就遍历一遍元素,一个一个按照要求找到位置。第一想法: 用一个dict来记录每一种钱的数量,遍历一边bill,然后看是否有找不开的情况。看完随想录后:想的完全不对,确实,根本想不到应该则么下手。看完随想录后:hard的题真的是,要思考的太多了。

2024-09-12 03:09:20 222

原创 代码随想录算法训练营第二十八天|LeetCode122 买卖股票的最佳时机II、LeetCode55 跳跃游戏、LeetCode45 跳跃游戏II、LeetCode1005 K次取反后最大化的数组和

如果最小的数字不为负数,那么就尝试把k缩小,例如k如果是单数,那么就直接等于1,然后让heap中最小的数变为负数;看完随想录后:第一想法其实有一个想法是去找到范围内最大的数,然后看看这个最大的数能不能跑脱第一个数的范围,但是没想到要如何实现。看完随想录后:原来我还是没理解局部最优的真谛,每一天都计算出来盈利收入,把能盈利的机会都争取到,最后的结果一定是最优的。看完随想录后:还是不熟悉贪心算法的理念,先想的都是数据结构上东西,也没什么意义。第一想法:感觉跟上一题一样,每次都找能走的步数最多的选项。

2024-09-11 15:36:55 210

原创 代码随想录算法训练营第二十七天| LeetCode455 分发饼干、LeetCode376 摆动序列 、LeetCode53. 最大子序和

然后通过一个while loop i < len(g) and j < len(s),如果s[j] >= g[i]则找到一个满足条件的,如果不满足,则j+=1,让饼干的pointer指向下一个饼干,然后继续比较;看完随想录后:我的想法非常直接的想去遍历两个数组,尽管在写代码的时候才发现饼干的大小才是关键,饼干数组是决定最终有多少个饼干被分发出去的关键,所以饼干已经是要被先遍历一遍的,但是在一开始分析的时候,并没有注意这一点。看完随想录后:需要考虑的东西很多,还是感觉理解的不到位,但是又说不上来。

2024-09-10 15:00:31 171

原创 代码随想录算法训练营第十天| LeetCode150 逆波兰表达式求值、LeetCode239 滑动窗口最大值、LeetCode347 前 K 个高频元素

LeetCode347 前 K 个高频元素。LeetCode150 逆波兰表达式求值。LeetCode239 滑动窗口最大值。第一想法:看到hard,连想都变得乏力。今日收获:收获了两道没弄明白的题。看完随想录后:一样的思路。看完随想录后:似懂非懂。

2024-08-25 02:26:14 173

原创 代码随想录算法训练营第九天| LeetCode232 用栈实现队列、LeetCode225 用队列实现栈、LeetCode20 有效的括号、LeetCode1047 删除字符串中的所有相邻重复项

第一想法:用一个stack,每遇到一个新的,push一个,如果一个新的在stack中的top有对应,那么就删除掉。第一想法:stack_a与stack_b,stack_a 负责接收数据, stack_b负责输出数据。第一想法:用一个stack,stack的top出现与新的字母一样的时候,就删除。看完随想录后:这个queue_in与queue_out交换确实没有想到。第一想法:貌似跟232一样,但是又有一些地方想不通。看完随想录后:逻辑一样,不过写的不一样。看完随想录后:一样的思路。看完随想录后:想法一样。

2024-08-23 20:54:53 157

原创 代码随想录算法训练营第八天| LeetCode151 翻转字符串里的单词、卡码网55 右旋转字符串、LeetCode28 实现 strStr()

第一想法:用两个pointer一一对应两个输入的字符串,如果两个能对应上,那么就一起向后移动一次,在这个情况下可以判断目标指针是否已经到头,如果到头了,那么就说明目标指针走完了,存在完全对应的字符串,如果没有的话,那么就会把目标指针归零,然后原指针往回调,调到目标指针已经走过的字符的下一位。第一想法:用split()把输入以空格分开并存成list,然后用双指针遍历list,前后交换。第一想法:很常规的substring,再合到一起。看完随想录后:确实没太理解KMP,还需要多看几遍。看完随想录后:思路一样。

2024-08-22 23:39:11 226

原创 代码随想录算法训练营第七天| LeetCode344 反转字符串、LeetCode541 反转字符串II、卡码网54 替换数字

第一想法:把string编程list,然后遍历一边,每遇到数字,就把数字替换成number,输出时用.join把list转换成string。第一想法:用一个开关,每次指针移动k个单位,每移动一次就让开环切换,从而达到交替的结果,感觉写的很烂,bug非常的多。看完随想录后:原来python在取substring的时候,结尾的数字大于字符串的长度不会报错。看完随想录后:python的写法好容易,c++的也太麻烦了。看完随想录后: 位运算之前没有见过,很神奇。难点:bug多,细节多。卡码网54 替换数字。

2024-08-21 22:26:13 218

原创 代码随想录算法训练营第六天| LeetCode454 四数相加II、LeetCode383 赎金信、LeetCode15 三数之和、LeetCode18 四数之和

这题也可以用array的方式,通过构建一个长度为26的array,以字母的ascii编码减去字母a的ascii编码为数组索引,来记录字母的频率。感觉跟two sum的思考方式很像,先把4个list转换成两个,然后查看满足要求的的数的频率,就可以记录结果。今日收获:这些三数和和四数和题目没做过,把数组先排序后用双指针的方法又可以提高效率,又可以避免重复,就是edge case非常多。看完随想录后:没有考虑到用array的优点,因为还不熟悉构造红黑树或者哈希表需要的时间是怎样的,后面需要补充一下。

2024-08-20 20:08:17 221

原创 代码随想录算法训练营第五天| LeetCode242 有效的字母异位词、 LeetCode349 两个数组的交集、LeetCode202 快乐数、LeetCode1 两数之和

第一想法:没想出来应该怎么做,因为不知道应该如何判断不是快乐书的话,循环应该如何停下,后面自己计算了一下,发现不是快乐数的话,平方和之后的结果会循环往复,才知道了用一个set去存已经计算过的数值,一旦发现有重复的计算,就可以判断这个数字不是快乐数了。用hashmap记录下已经出现过的数字为key,其数字对应的下标为value,然后在遍历的过程中查找target减去当前的数字是否在hashmap中出现过,如果出现过那么就可以顺利的找到结果。看完随想录后:没想到使用集合的方法一行就解决了。

2024-08-19 23:45:36 298

原创 代码随想录算法训练营第四天| LeetCode24 两两交换链表中的节点、LeetCode19 删除链表的倒数第N个节点、LeetCode160 链表相交、LeetCode142 环形链表II

看完随想录后:随想录里的python的答案重复使用curr变量,应该是出于剩内存的考量,让我看的有点晕,我自己在写的时候会这是变量名比如curr_node, first, second帮我区分这几个变量名所指的node是哪个。看完随想录后:完全没想到这道题这么复杂,在理解上多看了几遍,在公式上还是有点模糊。今日收获:142是没做过的新题,了解了新解题思路。看完随想录后:用的不一样的方法,提供了新的思路。LeetCode24 两两交换链表中的节点。看完随想录后:跟我写的方法一样。

2024-08-17 23:08:33 244

原创 代码随想录算法训练营第三天| LeetCode203 移除列表元素 LeetCode707 设计链表 LeetCode206 反转列表

今日收获:链表,dummy_node;虽然两道见过做过的题,但是也学到了用递归解决反转列表这个没有设想过的方法。看完随想录后:写的很清晰,代码比我写的更简洁,自己还在用prev和curr进行理解,但是其实完全没必要。LeetCode203 移除列表元素。看完随想录: 没想过用递归去做。看完随想录后:跟着代码答案抄了一遍。LeetCode707 设计链表。LeetCode206 反转列表。难点:云里雾里,明天还得再看看。第一想法:做过,有印象。难点:没遇到什么难点。

2024-08-17 00:43:45 247

原创 代码随想录算法训练营第二天| LeetCode209 长度最小的数组、LeetCode59 螺旋矩阵II 区间和 开发商买土地

困难:想不到该如何考虑哪些变量是干什么用的,只有在照猫画虎写了一遍之后才懂得那些变量的意义。看完随想录后:仍然没有难明确哪些变量的作用,就跟着视频一步一步的写了下来。看完随想录后:也见过不少及prefix_sum,但是每次都想不到要用这个。难点:用ACM模式用的少,熟悉了一下python如何接受输入。看完随想录后:跟着随想录的步骤一步一步勉强写出来了。LeetCode209 长度最小的数组。今日收获:前缀和,滑窗。第一想法:暴力枚举。困难:没遇到什么障碍。第一想法:没有头绪。

2024-08-16 00:27:27 273

原创 代码随想录算法训练营第一天| LeetCode704 二分查找、LeetCode27 移除元素、LeetCode977 有序数组平方

解决方法用while left < right - 1:这是能确保while loop会停下,但是又出现一个问题,left永远不会等于right,那么如果数组中只有一个数字的时候,while loop都不会进去,那么就需要补救措施,就是在while loop后增加判断下标为left或者right的数字是否与target相等,再做相对应的输出left或者right。第一想法:做过,所以答案的思路也清楚,但是如果不是知道答案,一定也是想不到最优解的。困难:写的很详细,看完就会了,没什么困难。

2024-08-14 21:53:54 355

空空如也

空空如也

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

TA关注的人

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