前言
最近抖音上很多人私信我,询问如何学好算法。我的方法是我用了 十年 的时间,自己总结出来的,不可能适合所有人,但是我觉得挺有效的,如果你觉得可行,尽管一试!
首先,我们心中要有一团火,一团希望之火!就是告诉自己,一定可以!
你永远无法弥补你的过去,但是,你可以改变你的未来!就算暗淡无光的尘土,也会有爆发光芒的那一刻!抓住那尘埃中的刹那光辉,燃烧自己吧!
一、树立目标
给自己树立一个「 目标 」是非常重要的,有「 目标 」才会有「 方向 」,有「 目标 」才会有「 动力 」,有「 目标 」才会有「 人生的意义 」。有了「 目标 」,再做一定的「 规划 」,并且「 坚持 」做下去,我相信,「 成功的一天终会到来 」。
目标可以是:刷一万道题、学会一百个算法、拿到字节的 offer、年入百万 等等,因人而异,当然,不建议以 财务自由 作为目标,因为每个人对 财务自由 的定义不同。
二、如何开始
我不是很推崇从一开始就看 《算法导论》 这样的天书,没错,对于初学者而言,这就是天书。在对算法没有任何概念的情况,看书并不是一个明智的选择。
那么问题来了,不看书,我们看什么呢?
第一阶段我是这么规划的:
1)挑一门自己想学习的语言;
2)零基础情况下,把 50 个简单题先刷掉;
3)遇到不会的,先想10分钟,想不出来看「 解题报告 」;
4)看完后一定要自己敲一遍,并且放到重刷列表;
5)重新刷之前 50 个题里面你看了「 解题报告 」的题;


接下来才是本文的重点内容。
文章目录
- 前言
- 一、树立目标
- 二、如何开始
- 三、找到组织
- 四、零基础算法
-
- 1、求1+2+…+n
- 2、递归乘法
- 3、斐波那契数
- 4、n 的第 k 个因子
- 5、统计平方和三元组的数目
- 6、找出数组的最大公约数
- 7、最大三角形面积
- 8、数组异或操作
- 9、整数的各位积和之差
- 10、统计位数为偶数的数字
- 11、搜索旋转排序数组
- 12、差的绝对值为 K 的数对数目
- 13、宝石与石头
- 14、所有奇数长度子数组的和
- 15、缺失的第一个正数
- 16、排序数组
- 17、根据字符出现频率排序
- 18、二进制链表转整数
- 19、K 进制表示下的各位数字总和
- 20、各位相加
- 21、七进制数
- 22、数字转换为十六进制数
- 23、数组串联
- 24、重新排列数组
- 25、打印从1到最大的n位数
- 26、一维数组的动态和
- 27、有多少小于当前数字的数字
- 28、找出所有子集的异或总和再求和
- 29、解码异或后的数组
- 30、交换数字
- 31、位1的个数
- 32、数字范围按位与
- 33、颠倒二进制位
- 34、前 n 个数字二进制中 1 的个数
- 35、好数对的数目
- 36、判断句子是否为全字母句
- 37、执行操作后的变量值
- 38、IP 地址无效化
- 39、统计一致字符串的数目
- 40、反转字符串
- 41、左旋转字符串
- 42、检查两个字符串数组是否相等
- 43、复数乘法
- 44、开幕式焰火
- 45、将数字变成 0 的操作次数
- 46、层数最深叶子节点的和
- 47、二叉树的深度
- 48、数组元素积的符号
- 49、删除中间节点
- 50、删除链表的节点
- 五、粉丝福利
三、找到组织
说了这么多,只是想建立一个「 愿景 」。这个「 愿景 」就是 —— 「 群人皆佬,共赴大厂 」。
光有「 愿景 」是不够的,我们需要「 付诸实际行动 」,任何一项大工程都不是「 一朝一夕 」能够完成的,「 制定计划 」 是尤为重要的事情。例如,想要学好算法,至少需要掌握一门语言,可以是 C、C++、Python、Java。这里强烈推荐 C语言,因为俗话说得好:
为了 「 督促大家 」更好的学习,所以我建立了一些团队供各位 「 技术交流 」之用,因为团队大了不好带,所以初期就把团队分好组,这样每个团队都能有很好的照顾,比一下子吃成胖子要好得多,当然每个团队我都会挑选一些 「 精英人员 」作为领袖,
订阅专栏 解锁全文
6578

被折叠的 条评论
为什么被折叠?



