谷歌技术经理教你高效CS刷题
谷歌技术经理教你高效CS刷题
篱笆资讯
谷歌技术经理教你高效CS刷题
刷题的话其实是大部分基础不好的同学非常头疼的事情,然后也很容易出现一些误区。那么我这边的话根据自己的经验,大概有三个点,就是希望跟大家澄清一下这个误区。
首先的话就是很多人觉得只要有决心,一定铁杵磨成针,然后撸起袖子就是干,这个是不对的。
第二的话就是大家会觉得刷题去看量大,我刷的越多,现在Leetcode已经有大概1600多道题了,觉得只要刷了够多,Offer就能随你挑,这个也不对。
然后第三个观点是说刷题就是啃硬骨头,然后如果想不出来一天都要花来讲,一定要死磕,或者的话就是说我要把这个题背下来,这些都是不对的。
 
那么,这边的话我分享一下自己的心得。
第一点,我觉得刷题实际上是一个以数据结构与算法为核心基础的。
大家遇到每道题的时候,可以做这样的一个三步走的策略:第一的话,看一下这个题目是不是能做出来;第二的话,如果做不出来,看一下能不能看出来用什么数据结构与算法;第三的话,如果不出来的话。那么再去discussion区域看一下高票的回答,看完之后理解透彻,看一下自己能不能独立写完。
 
第二点,刷题和量是没有一个必然关系的,还是要做到理解一道题。
在你面前出现千万次,你都能把他顺利写出来,而且能够分析出它的时间复杂度与空间复杂度。而且有一个很好的思路是,对一道题来讲,可以去掌握它的最优解和经典解。比如说,有的题可以用这个DP来完成,你还应该用DFS来写一遍。
 

第三点的话就是刷题不能死磕,也不能硬背。
高效的刷题方法是看题后先思考用什么数据结构,用什么算法。时间和空间的复杂度是多少?是不是最优解?如果看得出来最优解,那么就直接上手。如果看不出来,或者感觉没想清楚,立刻探discussion里最优解和经典解,分析他们的时间和空间复杂度。并且反思为什么会想到用这样的数据结构与算法,然后独立再写一遍,如果看discussion还是懵懵懂懂,那就把它加入一个waitlist,准备二刷。
 
最后的话建议大家可以把自己所有做过的题通过tag的方式更好地做分类和管理。这样的话会更容易让你在不同的题中找到一些规律,这样的话以后遇到新的题型,会很容易想到熟悉的解法。
coffee 直连行业大牛导师,1v1模拟面试与求职指导
mentors
airplay 实战与求职精品课程
数据科学
软件工程
人工智能
金融商科
产品经理
产品设计
bookmark 2000+名企面试真题
amazon google tiktok microsoft meta