前言:算法有三种,面试算法,竞赛算法和工程算法, 针对不同的类型算法需要,采取不一样的策略和系统性练习,本文章主要针对面试算法, 至于竞赛算法不在讨论范围内,竞赛高手都是初高中生就开始训练,自认为比不了而且工作中也不需要没有收益。
竞赛算法追求的是在一定的时间内,实现一定的算法和数据结构,以解决某一特定的、可能并不具有现实意义的问题,主要用于培养算法思维和逻辑思维。
工程算法追求的是实现一定的算法和数据结构以解决某一特定的具有实际现实意义的问题,对代码的运行速度和内存占用有极致的追求会直接影响用户体验和服务器成本。
个人简介: 化工转码全靠自学,目前在国内大厂工作,工作中有30%的时间在人才招聘和培养方面,本人在力扣上传了数百道问题的解法,主要是为了总结算法套路与帮助和我一样转码少走弯路,我虽然转码,但是比我同龄人在很多方面花的时间要多很多,因为互联网行业太内卷了,所以做事情也得讲究方法并提高效率,我能坚持下来进入大厂,很大的一方面也在于对事情的坚持,自我总结与规划,转行与科班最大的差别就在于专业知识的熟悉程度,这些都是可以空余时间自学补充的,决定人上限的还是对事情的坚持,坚持再坚持, 想放弃了就看看这个视频Usain Bolt - Track & Training 博尔特坚持训练
刷题写代码环境, IDE选用 Pycharm 配置几个必要写代码插件 Pycharm 写代码插件 ,并配置 leetcode 刷题插件 方便直接拉取 Leetcode 算法题,直接在 IDE 里面写代码和套用算法模板,提高刷题效率,选用
Python作为刷 leetcode 算法题语言,主要原因也是刷题效率与代码可读性,不同语言解决同类问题思路类似,不用纠结语言的问题,编程语言根据工作需要学习就行。因为工作原因未回复相关消息请见谅,做啥事情如果没有收益不要去干,干久了就是浪费生命,有时间不如多去刷几题
算法题分类思维导图:

用数据分析的思路做题与分析,别人用一年时间做的题,我们用3个月完成并且形成自己的总结,并形成同类型对比,人与人的差距就是这样产生。leetcode 所有题与题解文件
在 idea 里面对比同类型题目,并自己总结刷题模板与刷题心得套路, 方便分析擅长和不擅长的,然后重点专项训练优化
目前已经将树相关的题和题解已经总结,感兴趣的可以自己学习
leetcode树相关题目汇总总结
已经有好朋友加入到相关的专项刷题训练计划中,感兴趣的可以fork代码自行加入
将获取到的 leetcode 所有题与题解数据导入 navicat 进行数据分析, 通过分析自己做题的历史纪录,回溯问题与对比总结, 查看那些错的多,以及分析出自己的薄弱项。(总结与提高)
Leetcode 刷题进阶,不仅仅只是ac 后面剩下的路还长不总结刷过的题, 一个月就会忘记
阿里霜神大佬说过刷 leetcode 要追求提交的代码最起码时间上 beats 100% ,如果不能达到 beats 100%,纯粹只是追求AC,可能对该题的理解不会那么深刻。相关学习链接见 阿里霜神 LeetCode
为何要追求时间效率 beats 100%。霜神大佬认为优化到 beats 100% 才算是把这题做出感觉了。对不同的 Hard 题,大佬最开始都用暴力解法 AC 了,然后只 beats 了 5%,他感觉这题就如同没做一样。而且面试中如果给了这样的答案,面试官也不会满意,“还有没有更优解?如果在线玩家请求并发量较大或者服务器cpu资源内存空间有限等等怎么优化”。如果通过自己的思考能给出更优解,面试官会更满意一些。
pep8规范编写代码20 个最常用的、最基础数据结构与算法,我都已经总结在 算法题模板分类。欢迎大家观看,后面会把不同的算法的解题模板分享出来给大家。
10 个必考数据结构模板:数组、链表、栈、队列、散列表、二叉树、堆、跳表、图、Trie 树。
10 个必会算法模板:递归、排序、二分查找、搜索、哈希算法、贪心算法、分治算法、回溯算法、动态规划、字符串匹配算法。
如果有小伙伴没看过第一期的分享,第一期分享围绕怎么从零刷leetcode算法题和分析算法题
想来网易的欢迎大家资讯网易内推贴
最后祝大家在接下来的找工作季,金三银四都能成为 offer 收割机,找到心仪的工作。