最近刷LeetCode 也有三位数的题量了,总结和思考一些心得。
当拿到一个题目时,看完题目回想自己学过的数据结构:数组、栈、队列、链表、树、图、堆、散列表,看看它符合哪种结构;
确定了结构,再想经典算法,快速排序算法、归并排序算法、堆排序算法、线性查找算法,深度优先算法、广度优先算法、迪杰斯特拉算法,动态规划算法、回溯法、朴素贝叶斯分类算法,哈夫曼编码、最短路径、普利姆算法、贪心算法、分治法、二分搜索法、双指针、扫描线,一般会有一种能套上的,或许有多种。
开始写解法,刷 leetcode 一般是刚开始刷追求题量,累积到一定数量,以上数据机构和算法都基本见过一遍后,就可以开始追求一题多解。
路遥知马力,且行且努力!