我的算法刷题心得
4267
2022.02.26
发布于 未知归属地

该文首发于我的公众号

刷题经历

除了一些异于常人的天才,大部分人刚开始刷算法题的感觉大概都是一样的,尤其是面对困难题目,题解下面的评论画风都是这样的:

  • “我是sb”
  • “生不出人,我很抱歉”
  • “道理我都懂,但是真的写不出来,流下了不学无术的泪水”
  • “复制粘贴,执行提交,很快啊,下一题”
  • “不看了,这题解比题目本身看着更难”
  • “顿有所感,抄了一遍,感觉会了,过两天忘了”
  • “为什么我的眼里常含泪水,因为我对知识一无所知”

算法题有两个关口,第一是找到思路,第二是转化为代码,千万别小看第二步,“道理我都懂,就是写不出来”这种情况很常见。这也是微软面试要写算法的一个重要原因,程序员最终是用代码完成要实现的功能,只有思路写不出来还是无法指挥计算机干活。大厂通过算法题可以同时考察算法和代码功底,一举两得。

我以前算法也是弱项,对算法还很反感,后来练得多了反而觉得挺有意思。万事开头难,走出自己的舒适区,只要坚持下去慢慢水平就有提升了。

分享我的几点刷题心得供大家参考:

心得

1、按题目分类、出现频次刷

按题目在面试中出现的频次排序从高频题开始刷,刷题主要还是为了面试,力扣总共两千多道题,不可能都完成,尤其在时间不宽裕的情况下,没必要在低频题上浪费时间。

另外刷题的时候要按分类刷,集中刷某一类的题目更容易融会贯通,提高更快。

后面我会整理一份高频题目列表供大家参考。

2、掌握基本的数据结构和算法

基本的数据结构如:链表、栈、队列、二叉树、哈希表、图。
基本的算法如:二分查找、快速排序、堆排序、归并排序、回溯、贪心、动态规划。
这些知识可以边刷题边总结,遇到一类掌握一类,切勿囫囵吞枣,越刷越没有信心。

3、记笔记,反复回顾

记笔记对我的帮助很大,很多时候题目做完一遍,过几天再做又不会了。这时候记录一些关键的解题思路、步骤,每天回顾一下,效果非常好。有人可能觉得这是死记硬背,但我觉得人的智慧的本质是记忆,即便是数学推理、逻辑思维本质上也只是记忆的一种对外表现形式。

最后,个人感觉认真完成高频200道题左右可以应对大部分公司的面试。

往期文章:

在微软工作是怎样一种体验

聊聊微软面试

程序员如何提高英语水平

那些不加班的公司名单

评论 (2)