机器感知 一个专注于SLAM、Linux、算法等相关技术文章分享的公众号 |
开源地址:点击该链接
前言
现如今,对于技术人员(软开、算法等
)求职过程中笔试都是必不可少的(免笔试的除外,大部分人都需要笔试
),而笔试一般组成都是选择、填空、简答题、编程题(这部分很重要
),所以刷题是必不可少的;对于应届生求职来说更是需要疯狂的刷题,因为平时都有自己的科研任务,但是个人还是建议刷题应该循序渐进的,提前准备,这样就可以比较轻松地应对编程题这一部分了,而不用每天只集中在刷题这件事上;对于已经工作的人也不是说不再需要刷题了,即使是跳槽也会有算法题的考核,所以无论对于应届生还是在职人员,找工作都需要一定的算法能力,为了能够降低刷题每天占用的时间,那么我们能做的就是提早布局啥题任务,为将来找工作提早做准备,这样即使每天只做一道题,根据一份工作大致1~2
年的时间来算,那么在找下一份工作时也会刷了300~600
道题了。
LeetCode Solution
LeetCode目前已经有1000多道题了,官网对不同的题型进行了分类,按照每种类型中题目数量从多到少排列时,大致分布如下:
- Array
- Dynamic Programming
- Math
- String
- Tree
- Hash Table
- Depth First Search
- Binary Search
- Greedy
- Two Pointers
- Breadth First Search
- Stack
- Backtracking
- Design
- Linked List
- Sort
- Bit Manipulation
- Graph
- Heap
- Union Find
- Sliding Window
- Divide and Conquer
- Trie
- Recursion
- Ordered Map
- Segment Tree
- Queue
- Minimax
- Binary Indexed Tree
- Random
- Topological Sort
- Brainteaser
- Geometry
- Line Sweep
- Binary Search Tree
- Rejection Sampling
- Reservoir Sampling
- Memoization
每个类型的题目中都会列出所包含的题目有哪些
直接点击题目即可查看改题目对应的我自己所给出的示例源码,其中包括该题目的题目描述(来自LeetCode官方
),然后是解题思路(个人见解
),大致如下
紧随其后的就是对应题目的源码部分(个人解法
)
后记
本开源代码主要是记录个人刷题过程中的解题思路之用,也作为自己后续快速查找、翻阅、回忆解题之用,可能方法并不是尽善尽美,会逐渐改进,也希望有心之人能够提出宝贵的改进意见,我后续的解题思路、源码等也会持续更新到该仓库中,更多详情点击该链接。