各位好~我是一个软件工程师,追求每年都要有不一样的进步,今年追求的是把自己的基底在打的更稳,之前也没机会来认真刷题,刷LeetCode就是在练习对演算法及资料结构的熟悉度,而演算法跟资料结构就是每个工程师重要的基底。另外也给自己一些不一样的挑战,原本一开始是想用熟悉的语言来刷题,不过最後想趁这个机会应该去熟悉一个不熟的语言,於是最後在这过程中我邂逅了适合AI领域且在今年已经挤进TIOBE第二名的Python。
截图来自2021年8月份的TIOBE语言排行
本系列文重点在刷LeetCode解题思维,是演算法及资料结构的入门文章。
本系列文过程重点在分享这些题目的解题方法及思维,会在过程中去解释这些资料及逻辑是怎麽跑的,目标是在这三十天结束後能在看完题目的当下,脑中可以去想像模拟出这些资料流向及这些逻辑的运作过程,也让脑中可以想到哪些题目可以用哪些演算法策略或是资料结构来解题。
接下来的每一天我会选择一个我认为适合的题目来练习,会依照主题把一些基本的演算法及资料结构主题都走过一次,所以基本上都会以Easy的题目为主,每个主题看状况选择1~3题,从这些题目带出观念,让过程有一步一步往前的感觉,这边先分享我个人平常选题的方法。
平常的活动范围大概就会在Problems这个页面跟刷题画面了,在这个页面上主要在做的事情就是选题。
我通常会有目标性的去选择题目,不会随机挑题目,例如我今天想练习Binary Search Tree那我就会直接以这个当Tag来找寻我要的题目,所以进来後第一步我就会点Tags开始找我要的目标。
再来第二步我会先开启小齿轮,勾选Show topic tags,这时候在每个题目下面就会出现这个题目相关的主题Tags,在一开始练习的时候我都会尽量选择主题数量较少的题目来练习,这样可以帮助自己在思考解题时的方向。
最後如果有需要会再调整Difficulty,依照你想要练习的难度来选择,我个人都会从Easy开始,所以我会直接选择Easy。
以上大概就是我的选题方法,如果过程自己想找一些题目来练习可以参考这个方法,不过如果是已经有目标题目想练习像是跟着本系列文直接走的话,也可以直接在搜寻框打上题号找目标即可,如下图。
另外补充一下,这个页面上题目列表右侧有一个区块是你的刷题数量,如下图。
也可以看看,自己前进的感觉,让自己增加些成就感。非常建议,自己在刷题时不要为了冲刷题数硬刷,可以先知道有哪些演算法及资料结构以後,再来刷会让你更有方法的去解题,也因为这样本系列文在刷每个题目时,会尽量带出这个题目相关的演算法或资料结构的观念。
内容有什麽问题或建议欢迎一起交流:)
感谢您今天愿意花时间看完这篇文章~~~~
Next:414. Third Maximum Number
>>: Day15. 用Blue Prism放榜,紧张时刻-BP Choice Stage选择阶段
这是第三十天!!! 到目前为止的范例程序码就在这个 repo https://github.com/...
先到laravel专案找到环境变数档(.env) DB_CONNECTION=mysql DB_HO...
场景与需求 APP跟网页一样,要被下载,最容易的办法就是要取得流量大的关键字的上位排名,也就是要做S...
DAY20 用 Azure Machine Learning SDK 建立 Dataset 大家还记...
本来前端应该要更早点讲的,不过 Flask 的前端有了传入的值的话,可以有更多的操作,所以就放到这边...