mirror of
https://github.com/youngyangyang04/leetcode-master.git
synced 2025-07-25 09:42:16 +08:00
Update
This commit is contained in:
@ -135,7 +135,7 @@ public:
|
||||
|
||||
看完这篇文章,去leetcode上怒刷五题,文章中 编号107题目的样例图放错了(原谅我匆忙之间总是手抖),但不影响大家理解。
|
||||
|
||||
只有同学发现leetcode上“515. 在每个树行中找最大值”,也是层序遍历的应用,依然可以分分钟解决,所以就是一鼓作气解决六道了,哈哈。
|
||||
只有同学发现leetcode上“515. 在每个树行中找最大值”,也是层序遍历的应用,依然可以分分钟解决,所以就是一鼓作气解决六道了。
|
||||
|
||||
**层序遍历遍历相对容易一些,只要掌握基本写法(也就是框架模板),剩下的就是在二叉树每一行遍历的时候做做逻辑修改。**
|
||||
|
||||
|
@ -70,7 +70,7 @@
|
||||
|
||||
**但可以遍历一遍就可以求众数集合,使用了适时清空结果集的方法**,这个方法还是很巧妙的。相信仔细读了文章的同学会惊呼其巧妙!
|
||||
|
||||
**所以大家不要看题目简单了,就不动手做了,我选的题目,一般不会简单到不用动手的程度,哈哈**。
|
||||
**所以大家不要看题目简单了,就不动手做了,我选的题目,一般不会简单到不用动手的程度**。
|
||||
|
||||
## 周六
|
||||
|
||||
|
@ -98,7 +98,7 @@
|
||||
|
||||
对于回溯法的整体框架,网上搜的文章这块一般都说不清楚,按照天上掉下来的代码对着讲解,不知道究竟是怎么来的,也不知道为什么要这么写。
|
||||
|
||||
所以,录友们刚开始学回溯法,起跑姿势就很标准了,哈哈。
|
||||
所以,录友们刚开始学回溯法,起跑姿势就很标准了。
|
||||
|
||||
下周依然是回溯法,难度又要上升一个台阶了。
|
||||
|
||||
|
@ -148,7 +148,7 @@ if (startIndex >= nums.size()) { // 终止条件可以不加
|
||||
|
||||
**我讲解每一种问题,都会和其他问题作对比,做分析,所以只要跟着细心琢磨相信对回溯又有新的认识**。
|
||||
|
||||
最近这两天题目有点难度,刚刚开始学回溯算法的话,按照现在这个每天一题的速度来,确实有点快,学起来吃力非常正常,这些题目都是我当初学了好几个月才整明白的,哈哈。
|
||||
最近这两天题目有点难度,刚刚开始学回溯算法的话,按照现在这个每天一题的速度来,确实有点快,学起来吃力非常正常,这些题目都是我当初学了好几个月才整明白的。
|
||||
|
||||
**所以大家能跟上的话,已经很优秀了!**
|
||||
|
||||
|
@ -66,7 +66,7 @@
|
||||
|
||||
## 周四
|
||||
|
||||
这道题目:[贪心算法:K次取反后最大化的数组和](https://programmercarl.com/1005.K次取反后最大化的数组和.html)就比较简单了,哈哈,用简单题来讲一讲贪心的思想。
|
||||
这道题目:[贪心算法:K次取反后最大化的数组和](https://programmercarl.com/1005.K次取反后最大化的数组和.html)就比较简单了,用简单题来讲一讲贪心的思想。
|
||||
|
||||
**这里其实用了两次贪心!**
|
||||
|
||||
@ -76,8 +76,6 @@
|
||||
|
||||
第二次贪心:局部最优:只找数值最小的正整数进行反转,当前数值可以达到最大(例如正整数数组{5, 3, 1},反转1 得到-1 比 反转5得到的-5 大多了),全局最优:整个 数组和 达到最大。
|
||||
|
||||
[贪心算法:K次取反后最大化的数组和](https://programmercarl.com/1005.K次取反后最大化的数组和.html)中的代码,最后while处理K的时候,其实直接判断奇偶数就可以了,文中给出的方式太粗暴了,哈哈,Carl大意了。
|
||||
|
||||
例外一位录友留言给出一个很好的建议,因为文中是使用快排,仔细看题,**题目中限定了数据范围是正负一百,所以可以使用桶排序**,这样时间复杂度就可以优化为$O(n)$了。但可能代码要复杂一些了。
|
||||
|
||||
|
||||
@ -85,7 +83,7 @@
|
||||
|
||||
大家会发现本周的代码其实都简单,但思路却很巧妙,并不容易写出来。
|
||||
|
||||
如果是第一次接触的话,其实很难想出来,就是接触过之后就会了,所以大家不用感觉自己想不出来而烦躁,哈哈。
|
||||
如果是第一次接触的话,其实很难想出来,就是接触过之后就会了,所以大家不用感觉自己想不出来而烦躁。
|
||||
|
||||
相信此时大家现在对贪心算法又有一个新的认识了,加油💪
|
||||
|
||||
|
@ -107,7 +107,7 @@
|
||||
|
||||
本周讲解的内容都是经常被大家忽略的知识点,而通常这种知识点,才最能发现一位候选人的编程功底。
|
||||
|
||||
因为之前一直都是在持续更新算法题目的文章,这周说一说算法性能分析,感觉也是换了换口味,哈哈。
|
||||
因为之前一直都是在持续更新算法题目的文章,这周说一说算法性能分析,感觉也是换了换口味。
|
||||
|
||||
同时大家也会发现,**大厂面试官最喜欢用“简单题”(就是看起来很简单,其实非常考验技术功底的题目),而不是要手撕红黑树之类的**。
|
||||
|
||||
|
@ -95,7 +95,7 @@
|
||||
|
||||
虽然有时候感觉贪心就是常识,但如果真正是常识性的题目,其实是模拟题,就不是贪心算法了!例如[贪心算法:加油站](https://programmercarl.com/0134.加油站.html)中的贪心方法一,其实我就认为不是贪心算法,而是直接从全局最优的角度上来模拟,因为方法里没有体现局部最优的过程。
|
||||
|
||||
而且大家也会发现,贪心并没有想象中的那么简单,贪心往往妙的出其不意,触不及防!哈哈
|
||||
而且大家也会发现,贪心并没有想象中的那么简单,贪心往往妙的出其不意,触不及防!
|
||||
|
||||
|
||||
<div align="center"><img src=https://code-thinking.cdn.bcebos.com/pics/01二维码.jpg width=450> </img></div>
|
||||
|
@ -93,7 +93,7 @@ public:
|
||||
|
||||
本周的主题就是用贪心算法来解决区间问题,经过本周的学习,大家应该对区间的各种合并分割有一定程度的了解了。
|
||||
|
||||
其实很多区间的合并操作看起来都是常识,其实贪心算法有时候就是常识,哈哈,但也别小看了贪心算法。
|
||||
其实很多区间的合并操作看起来都是常识,其实贪心算法有时候就是常识,但也别小看了贪心算法。
|
||||
|
||||
在[贪心算法:合并区间](https://programmercarl.com/0056.合并区间.html)中就说过,对于贪心算法,很多同学都是:「如果能凭常识直接做出来,就会感觉不到自己用了贪心, 一旦第一直觉想不出来, 可能就一直想不出来了」。
|
||||
|
||||
|
@ -18,7 +18,7 @@
|
||||
|
||||
后序我们在讲解动规的题目时候,都离不开这五步!
|
||||
|
||||
本周都是简单题目,大家可能会感觉 按照这五部来好麻烦,凭感觉随手一写,直接就过,越到后面越会感觉,凭感觉这个事还是不靠谱的,哈哈。
|
||||
本周都是简单题目,大家可能会感觉 按照这五部来好麻烦,凭感觉随手一写,直接就过,越到后面越会感觉,凭感觉这个事还是不靠谱的。
|
||||
|
||||
最后我们讲了动态规划题目应该如何debug,相信一些录友做动规的题目,一旦报错也是凭感觉来改。
|
||||
|
||||
@ -30,7 +30,7 @@
|
||||
2. 我打印dp数组的日志了么?
|
||||
3. 打印出来了dp数组和我想的一样么?
|
||||
|
||||
哈哈,专治各种代码写出来了但AC不了的疑难杂症。
|
||||
专治各种代码写出来了但AC不了的疑难杂症。
|
||||
|
||||
## 周二
|
||||
|
||||
@ -60,7 +60,7 @@ for (int i = 3; i <= n; i++) { // 注意i是从3开始的
|
||||
}
|
||||
```
|
||||
|
||||
这个可以是面试的一个小问题,哈哈,考察候选人对dp[i]定义的理解程度。
|
||||
这个可以是面试的一个小问题,考察候选人对dp[i]定义的理解程度。
|
||||
|
||||
这道题目还可以继续深化,就是一步一个台阶,两个台阶,三个台阶,直到 m个台阶,有多少种方法爬到n阶楼顶。
|
||||
|
||||
@ -86,7 +86,7 @@ public:
|
||||
|
||||
代码中m表示最多可以爬m个台阶。
|
||||
|
||||
**以上代码不能运行哈,我主要是为了体现只要把m换成2,粘过去,就可以AC爬楼梯这道题,不信你就粘一下试试,哈哈**。
|
||||
**以上代码不能运行哈,我主要是为了体现只要把m换成2,粘过去,就可以AC爬楼梯这道题,不信你就粘一下试试**。
|
||||
|
||||
|
||||
**此时我就发现一个绝佳的大厂面试题**,第一道题就是单纯的爬楼梯,然后看候选人的代码实现,如果把dp[0]的定义成1了,就可以发难了,为什么dp[0]一定要初始化为1,此时可能候选人就要强行给dp[0]应该是1找各种理由。那这就是一个考察点了,对dp[i]的定义理解的不深入。
|
||||
@ -97,7 +97,7 @@ public:
|
||||
|
||||
**其实大厂面试最喜欢问题的就是这种简单题,然后慢慢变化,在小细节上考察候选人**。
|
||||
|
||||
这道绝佳的面试题我没有用过,如果录友们有面试别人的需求,就把这个套路拿去吧,哈哈哈。
|
||||
这道绝佳的面试题我没有用过,如果录友们有面试别人的需求,就把这个套路拿去吧。
|
||||
|
||||
我在[通过一道面试题目,讲一讲递归算法的时间复杂度!](https://programmercarl.com/前序/通过一道面试题目,讲一讲递归算法的时间复杂度!.html)中,以我自己面试别人的真实经历,通过求x的n次方 这么简单的题目,就可以考察候选人对算法性能以及递归的理解深度,录友们可以看看,绝对有收获!
|
||||
|
||||
@ -138,7 +138,7 @@ public:
|
||||
};
|
||||
```
|
||||
|
||||
这么写看上去比较顺,但是就是感觉和题目描述的不太符。哈哈,也没有必要这么细扣题意了,大家只要知道,题目的意思反正就是要不是第一步不花费,要不是最后一步不花费,都可以。
|
||||
这么写看上去比较顺,但是就是感觉和题目描述的不太符。也没有必要这么细扣题意了,大家只要知道,题目的意思反正就是要不是第一步不花费,要不是最后一步不花费,都可以。
|
||||
|
||||
## 总结
|
||||
|
||||
|
@ -151,12 +151,6 @@ n为5时候的dp数组状态如图:
|
||||
|
||||
我现在也陷入了纠结,题目一简单,就会有录友和我反馈说题目太简单了,题目一难,阅读量就特别低。
|
||||
|
||||
我也好难那,哈哈哈。
|
||||
|
||||
**但我还会坚持规划好的路线,难度循序渐进,并以面试经典题目为准,该简单的时候就是简单,同时也不会因为阅读量低就放弃有难度的题目!**。
|
||||
|
||||
录友们看到这是不是得给个Carl点个赞啊[让我看看]。
|
||||
|
||||
预告,我们下周正式开始讲解背包问题,经典的不能再经典,也是比较难的一类动态规划的题目了,录友们上车抓稳咯。
|
||||
|
||||
<div align="center"><img src=https://code-thinking.cdn.bcebos.com/pics/01二维码.jpg width=450> </img></div>
|
||||
|
@ -187,7 +187,7 @@ return {val2, val1};
|
||||
|
||||
因为平时我们习惯了在一维数组或者二维数组上推导公式,一下子换成了树,就需要对树的遍历方式足够了解!
|
||||
|
||||
大家还记不记得我在讲解贪心专题的时候,讲到这道题目:[贪心算法:我要监控二叉树!](https://programmercarl.com/0968.监控二叉树.html),这也是贪心算法在树上的应用。**那我也可以把这个算法起一个名字,叫做树形贪心**,哈哈哈
|
||||
大家还记不记得我在讲解贪心专题的时候,讲到这道题目:[贪心算法:我要监控二叉树!](https://programmercarl.com/0968.监控二叉树.html),这也是贪心算法在树上的应用。**那我也可以把这个算法起一个名字,叫做树形贪心**
|
||||
|
||||
“树形贪心”词汇从此诞生,来自「代码随想录」
|
||||
|
||||
@ -301,7 +301,7 @@ public:
|
||||
|
||||
那么这里每一种情况 我在文章中都做了详细的介绍。
|
||||
|
||||
周四我们开始讲解股票系列了,大家应该预测到了,我们下周的主题就是股票! 哈哈哈,多么浮躁的一个系列!敬请期待吧!
|
||||
周四我们开始讲解股票系列了,大家应该预测到了,我们下周的主题就是股票!敬请期待吧!
|
||||
|
||||
**代码随想录温馨提醒:投资有风险,入市需谨慎!**
|
||||
|
||||
|
@ -139,7 +139,7 @@ public:
|
||||
|
||||
看完这篇文章,去leetcode上怒刷五题,文章中 编号107题目的样例图放错了(原谅我匆忙之间总是手抖),但不影响大家理解。
|
||||
|
||||
只有同学发现leetcode上“515. 在每个树行中找最大值”,也是层序遍历的应用,依然可以分分钟解决,所以就是一鼓作气解决六道了,哈哈。
|
||||
只有同学发现leetcode上“515. 在每个树行中找最大值”,也是层序遍历的应用,依然可以分分钟解决,所以就是一鼓作气解决六道了。
|
||||
|
||||
**层序遍历遍历相对容易一些,只要掌握基本写法(也就是框架模板),剩下的就是在二叉树每一行遍历的时候做做逻辑修改。**
|
||||
|
||||
|
Reference in New Issue
Block a user