当前位置:   article > 正文

java开发有必要刷leetcode吗_刷 leetcode 需要哪些基础?

java 有必要刷leetcode吗

首先要知道

基础的数据结构:数组、字符串、树、堆、栈、队列、哈希表

基础的算法: 枚举遍历, 二分查找,递归,回溯

明白基础的数据结构之后,我们可以发现 leetcode上已经做好了分类, 首先我们要按照类别来刷,推荐刷题顺序: 数组 ->字符串 ->链表->二分查找->排序->哈希表-> 栈->队列 ->树 、递归、回溯 -> 堆

第一次刷leetcode不要去碰什么动态规划,什么深度优先搜索之类的!

每一个类别里面有 简单、中等和困难的题目,例如这样,第一次刷leetcode,建议只做每个类别里面的简体题目,而且简单题目里面先做 通过率高的,如下图,在简单题目里 按照通过率又高到低的顺序做题

这样会避免刚开始做比较难的题目而丧失信心。

开始leetcode闯关:

第一轮刷题

题目类别推荐按照这个顺序来说: 数组 ->字符串 ->链表->二分查找->排序->哈希表-> 栈->队列 ->树 、递归、回溯 -> 堆 ,每一个类别只做简单的题目!而且是从通过率又高向低来刷。

这样刷过一遍之后 我们基础的数据结构和算法就已经差不多了

第二轮刷题

开始做第一轮类别里面中等难度的题目

同时开始刷更高难度类别的题目,推荐按照这个顺序去做:拓扑排序->分治算法-> 二叉搜索树->贪心算法->动态规划-> 深度优先搜索 -> 广度优先搜索-->图->数学

这里依然还是只做简单难度的题目 按照通过率又高向低

第三轮刷题

开始尝试做第一轮里面的 困难难度的题目 (不强求,仅仅是尝试,面试中也不会太难)

同时开始做第二轮里面 中等难度的题目(不用全都做,选一下自己一看就有想法的题目)

然后开始做做leetcode分类里面 第一轮和第二轮都没有涉及到的类别的题目,相对于其他类型,面试中最常考察的是: 字典树-> 并查集 -> 树状数组->线段树, 这里只做简单难度的就可以了!

剩余类型题目也凭个人喜好,选一些简单难度的题目做一做就可以了。

下面这个仓库写了详细的leetcode刷题攻略、各个类型经典题目刷题顺序、思维导图看一看一定会有所收获,欢迎给个star!https://github.com/youngyangyang04/leetcode-master​github.com

声明:本文内容由网友自发贡献,转载请注明出处:【wpsshop博客】
推荐阅读
相关标签
  

闽ICP备14008679号