为了账号安全,请及时绑定邮箱和手机立即绑定

坚持一年的力扣刷题之路

那是2023年9月,一个充满变化气息的时期。我正好处于失业状态,而恰好,谷歌在内罗毕启动了招聘潮。我听说了谷歌的Foobar挑战,这是一项编程测试,之前只听说过一些传闻。十年编程经验在手,我觉得是时候试一试了。

第一个挑战就像热身一样——二分查找的问题,感觉就像轻松的慢跑。第二和第三个问题也是如此,易于管理且引人入胜。接着,第四个挑战出现了,就像遇到了一个陡坡。这就是我第一次接触到“图”这个概念,一个在我职业生涯中从未完全理解的概念。

感觉有点手忙脚乱,于是我开始在YouTube上找找看,希望能找到些指导。看着那些解释算法和概念的视频,我不禁感到一丝冒名顶替感。居然这么久以来都没有遇到过这些问题。

直入主题:一位谷歌的招聘人员确实联系过我。这导致了一次电话筛选和三轮面试环节。可惜的是,我没有通过这一关。但这次经历点燃了我对数据结构和算法的热情。

决心提升自己,我找到了力扣的那套75题。带着热情,我做了大量笔记并学到了很多东西。在这一年中拿到了我的第一份合同,这让我有了更多的其他事情要忙,练习时间自然少了。为了继续进步,于是开始每天做力扣的挑战题。最终,我保持了连续365天以上的每日挑战记录。

我在一个(Google Sheet)[https://docs.google.com/spreadsheets/d/14GXh2RLulTo2vLeLzOuOqqCm5DQmCI-OK8MJvi9yJz8/edit?usp=sharing]中跟踪了每个问题的进展。我的方法很简单,如果在设定时间内无法解决一个问题,我就将其标记为失败,

  • 简单:25分钟内做完
  • 普通:45分钟内做完
  • 困难:在一个小时内做完

每隔一周,我会重新看看一个失败的问题,再试一次。我在这一过程中学到的一些东西:

有些话题比其他话题更常被提及

列表( 数组)

跟着(PrimeAgen)[https://www.youtube.com/@ThePrimeTimeagen]吗?那么你知道数组是DSA的基础。经过一年的时间,我可以肯定这一点。高效地操作数组是非常重要的。

字符串(字符串)

字符串就像是数组,但是带有一些特别之处。在大多数语言中,字符串是不可更改的,意味着任何改变都需要新建一个字符串。这真是吃了一次苦头才明白的道理。

散列表

在处理数据时,哈希表因其 O(1) 的插入和删除速度而成为首选。最初我认为哈希表很复杂,但是后来发现它们其实跟对象差不多,本质上也很简单。

排序:

至少掌握两种排序算法。冒泡排序经典且编码快速。归并排序很强大,但需要多加练习。还有桶排序——快得令人难以置信但空间消耗大。

贪婪算法

贪心问题真的很有趣。一旦满足条件,就可以提前退出。这些问题偶尔还是会让我犯糊涂,但解决它们还是很值得的。

结论:

DSA可能会让人上瘾。一旦开始发现模式,解决问题几乎成了机械化的任务。我希望能再次加入Google。在此之前,我会继续在LeetCode上不断刷题,不断提高这项技能。

点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
手记
粉丝
4
获赞与收藏
2

关注作者,订阅最新文章

阅读免费教程

  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号

举报

0/150
提交
取消