leetCode刷题顺序

代码织风人
• 阅读 2427

leetCode题太多了,自己还是一个非计算机专业的小白,所有问题都刷他困难了,所以挑选典型的进行刷,然后自己总结。以下为需要刷的类型和题目,没有行号,我每刷过一个道在加行号;每一个模块完后会总结思路;
刷的题目是参考其他博主的,但是学到东西是自己的。


1. Pattern: Sliding window,滑动窗口类型

Maximum Sum Subarray of Size K (easy)
Smallest Subarray with a given sum (easy)
Longest Substring with K Distinct Characters (medium)
Fruits into Baskets (medium)
No-repeat Substring (hard)
Longest Substring with Same Letters after Replacement (hard)
Longest Subarray with Ones after Replacement (hard)

2.Pattern: two points, 双指针类型

Pair with Target Sum (easy)
Remove Duplicates (easy)
Squaring a Sorted Array (easy)
Triplet Sum to Zero (medium)
Triplet Sum Close to Target (medium)
Triplets with Smaller Sum (medium)
Subarrays with Product Less than a Target (medium)
Dutch National Flag Problem (medium)

3.Pattern: Fast & Slow pointers, 快慢指针类型

LinkedList Cycle (easy)
Start of LinkedList Cycle (medium)
Happy Number (medium)
Middle of the LinkedList (easy)

4.Pattern: Merge Intervals,区间合并类型

Merge Intervals (medium)
Insert Interval (medium)
Intervals Intersection (medium)
Conflicting Appointments (medium)

5. Pattern: Cyclic Sort,循环排序

Cyclic Sort (easy)
Find the Missing Number (easy)
Find all Missing Numbers (easy)
Find the Duplicate Number (easy)
Find all Duplicate Numbers (easy)

6.Pattern: In-place Reversal of a LinkedList,链表翻转

Reverse a LinkedList (easy)
Reverse a Sub-list (medium)
Reverse every K-element Sub-list (medium)

7.Pattern: Tree Breadth First Search,树上的BFS

  • Binary Tree Level Order Traversal (easy)[102]
  • Binary Tree Zigzag Level Order Traversal (medium)[103]

在102基础上使用双端队列就可以解决;add,push;每次拿都是从队尾;

  • Level Averages in a Binary Tree (easy)[637] 同样的bfs层序遍历,只需要注意dubble这个类型;
  • Minimum Depth of a Binary Tree (easy)[111] 这个用深度优先很好算但是广度优先也是可以的;将node和封装到同一个node里边;如果当前节点左右都为空,这个深度就是你想要的的; 输的高度就是树的层数;bfs会优先找到深度最浅的的叶子节点;

使用bfs有一个通用的模板就是用一个队列或者双端队列去存储一层的树节点,然后一直遍历;这个规律是死的

Queue/ Dueue  queue = new LinkedList<>();
queue.offer(root);
while(!queue.isEmpty()){
    int len = queue.size();// 一定要提前记录否则你poll时候会减少;
    for(int i=0;i<len;i++){
        TreeNode node = queue.poll();
        if(node.left!=null){
            queue.offer(node.left);
        }
        if(node.right!=null){
            queue.offer(node.right());
        }
    }
}

8.Pattern: Tree Depth First Search,树上的DFS

  • Binary Tree Path Sum (easy)[112]
  • Path Sum II (medium)[113]
  • Same Tree[100]
  • Symmetric Tree[101] 分成两个root 进行比较左右;
  • Maximum Depth of Binary Tree[104] 左右深度对比;最深的是结果,Math.max();
  • Balanced Binary Tree[110]

首先你要知道什么平衡二叉树,null或者左右深度差不超过1 Math.abs;

对于DFS就是通过递归进行调用,递归没有固定的模板,但是有固定的思路;在递归中可以看看成数学的数学归纳法,我们先找到特例,也就是数学归纳法中的n=1的部分,对应理解就是你的临界条件。然后推理后边的,假设n-1成立去推,对应的理解就是n-1就是我们递归的那个方法;剩下的就得实战中自己悟,每个人都会有自己的一个理解;

public void dfs(){
    doSomething();
    dfs();//递归调用
}
public xx dfs(){   
    xx xx = dfs();//把这个看成数学归纳法中的n-1
     if 跳出条件;
    对xx操作;返回的就是这个xx
}

9. Pattern: Two Heaps,双堆类型

Find the Median of a Number Stream (medium)
Sliding Window Median (hard)
Maximize Capital (hard)

10. Pattern: Subsets,子集类型,一般都是使用多重DFS

Subsets (easy)
Subsets With Duplicates (easy)
Permutations (medium)
String Permutations by changing case (medium)
Balanced Parentheses (hard)
Unique Generalized Abbreviations (hard)

11. Pattern: Modified Binary Search,改造过的二分

Order-agnostic Binary Search (easy)
Ceiling of a Number (medium)
Next Letter (medium)
Number Range (medium)
Search in a Sorted Infinite Array (medium)
Minimum Difference Element (medium)
Bitonic Array Maximum (easy)

12. Pattern: Top ‘K’ Elements,前K个系列

Top ‘K’ Numbers (easy)
Kth Smallest Number (easy)
‘K’ Closest Points to the Origin (easy)
Connect Ropes (easy)
Top ‘K’ Frequent Numbers (medium)
Frequency Sort (medium)
Kth Largest Number in a Stream (medium)
‘K’ Closest Numbers (medium)
Maximum Distinct Elements (medium)
Sum of Elements (medium)
Rearrange String (hard)

13. Pattern: K-way merge,多路归并

Merge K Sorted Lists (medium)
Kth Smallest Number in M Sorted Lists (Medium)
Kth Smallest Number in a Sorted Matrix (Hard)
Smallest Number Range (Hard)

14. Pattern: 0/1 Knapsack (Dynamic Programming),0/1背包类型

0/1 Knapsack (medium)
Equal Subset Sum Partition (medium)
Subset Sum (medium)
Minimum Subset Sum Difference (hard)

15. Pattern: Topological Sort (Graph),拓扑排序类型

Topological Sort (medium)
Tasks Scheduling (medium)
Tasks Scheduling Order (medium)
All Tasks Scheduling Orders (hard)
Alien Dictionary (hard)

动态规划专题BP

  1. 0/1 Knapsack, 0/1背包,6个题

0/1 Knapsack,0/1背包问题

Equal Subset Sum Partition,相等子集划分问题

Subset Sum,子集和问题

Minimum Subset Sum Difference,子集和的最小差问题

Count of Subset Sum,相等子集和的个数问题

Target Sum,寻找目标和的问题

  1. Unbounded Knapsack,无限背包,5个题

Unbounded Knapsack,无限背包

Rod Cutting,切钢条问题

Coin Change,换硬币问题

Minimum Coin Change,凑齐每个数需要的最少硬币问题

Maximum Ribbon Cut,丝带的最大值切法

  1. Fibonacci Numbers,斐波那契数列,6个题

Fibonacci numbers,斐波那契数列问题

Staircase,爬楼梯问题

Number factors,分解因子问题

Minimum jumps to reach the end,蛙跳最小步数问题

Minimum jumps with fee,蛙跳带有代价的问题

House thief,偷房子问题

  1. Palindromic Subsequence,回文子系列,5个题

Longest Palindromic Subsequence,最长回文子序列

Longest Palindromic Substring,最长回文子字符串

Count of Palindromic Substrings,最长子字符串的个数问题

Minimum Deletions in a String to make it a Palindrome,怎么删掉最少字符构成回文

Palindromic Partitioning,怎么分配字符,形成回文

  1. Longest Common Substring,最长子字符串系列,13个题

Longest Common Substring,最长相同子串

Longest Common Subsequence,最长相同子序列

Minimum Deletions & Insertions to Transform a String into another,字符串变换

Longest Increasing Subsequence,最长上升子序列

Maximum Sum Increasing Subsequence,最长上升子序列和

Shortest Common Super-sequence,最短超级子序列

Minimum Deletions to Make a Sequence Sorted,最少删除变换出子序列

Longest Repeating Subsequence,最长重复子序列

Subsequence Pattern Matching,子序列匹配

Longest Bitonic Subsequence,最长字节子序列

Longest Alternating Subsequence,最长交差变换子序列

Edit Distance,编辑距离

Strings Interleaving,交织字符串

点赞
收藏
评论区
推荐文章
一只编程熊 一只编程熊
3年前
ACM金牌选手整理的【LeetCode刷题顺序】
算法和数据结构知识结构图首先,了解算法和数据结构有哪些知识点,在学习中形成大局观,对学习和刷题十分有帮助。下面是我花了一天时间整理的算法和数据结构的知识结构,大家可以看看。<imgsrc"https://tva1.sinaimg.cn/large/008i3skNly1gsbvbwd5u1j30ys0u0tl6.jpg"alt"image202107
如何搞定力扣刷题?
好买网(www.goodmai.com)IT技术交易平台前言大家好,我是bigsai,好久不见!今天就给各位小伙伴分享我自己刷题力扣的一些小方法,不一定很有用但是可以参考,祝你更高效的变强!最近在一些群聊、私聊中遇到很多的一个问题就是:刷题,大家也都重视到算法刷题对冲击大厂的重要性,越来越多的人开始卷起来了!BA321C5AFE6864CE60465A0E7
Stella981 Stella981
3年前
Github最强算法刷题笔记.pdf
资料一昨晚逛GitHub,无意中看到一位大佬(https://github.com/halfrost)的算法刷题笔记,感觉发现了宝藏!有些小伙伴可能已经发现了,但咱这里还是忍不住安利一波,怕有些小伙伴没有看到。关于算法刷题的困惑和疑问也经常听朋友们提及。这份笔记里面共包含作者刷LeetCode算法题后整理的数百道题,每道题均附有详细题
Stella981 Stella981
3年前
2021金三银四想进字节大厂必看:LeetCode算法收割机+算法刷题宝典
最近有看到很多朋友想进大厂,四面竟然都考了算法,很多同学面对算法的问题都很头大,因为自己做项目很难用到,但是但凡高薪的职位面试都会问到。最近我整理了一份刷题宝典,这份刷题宝典,也让我进了心仪的大厂。今天给大家分享一下:!(https://static001.geekbang.org/infoq/07/074b4c3d563eca9e7f73a
Stella981 Stella981
3年前
Leetcode Index
序:  用于记录刷题过程中难度较大或思路怪异的题目,对于常规难度一般的题就不写入我的博客了,关于效率仅是提交时击败的百分比,可能会随时间波动,仅供参考,算法优劣以时间复杂度和空间复杂度为基准。欢迎留言讨论。题目序号难度效率Leetcode42.TrappingRainWater(https://www.oschina.
Stella981 Stella981
3年前
LeetCode 思路及解答
终于作为转专业小白的我也开始刷题啦!希望能通过记录分享的形式加深解题思路的理解和记忆。也希望大神们能够指点一二。列表中的题目名称都是链接,难度和标签也都是也都是链接,方便归类搜索。NumberProblemNameDifficultyTagsProgrammingLanguages24SwapNodes
可莉 可莉
3年前
2021金三银四想进字节大厂必看:LeetCode算法收割机+算法刷题宝典
最近有看到很多朋友想进大厂,四面竟然都考了算法,很多同学面对算法的问题都很头大,因为自己做项目很难用到,但是但凡高薪的职位面试都会问到。最近我整理了一份刷题宝典,这份刷题宝典,也让我进了心仪的大厂。今天给大家分享一下:!(https://static001.geekbang.org/infoq/07/074b4c3d563eca9e7f73a
Stella981 Stella981
3年前
Leetcode代码补全——二叉树
  在刷leetcode的过程中发现,在原网页输入答案是不需要自己构筑树和链表的,虽然便于直接思考算法,但是久而久之类似过于依赖编辑器,反而不知道如何创建树和链表,因此总结了该网页省略的部分,以其中题为例呈现出来。1、树状图题目,判定对称树classTreeNode(object):  def\_\_init\_\_(self,x,lef
Wesley13 Wesley13
3年前
LeetCode刷题实战61:旋转链表
算法的重要性,我就不多说了吧,想去大厂,就必须要经过基础知识和业务逻辑面试算法面试。所以,为了提高大家的算法能力,这个公众号后续每天带大家做一道算法题,题目就从LeetCode上面选!今天和大家聊的问题叫做旋转链表,我们先来看题面:https://leetcodecn.com/problems/rotatelist/Give
WeiSha100 WeiSha100
3年前
基于.NET的在线刷题考试系统源代码
分享一个基于.NET的在线刷题考试系统,有完整的源代码和脚本文件,可以做二次开发,有管理员,教师和学生三种角色,教师后台可以批量上传试题,发布试卷,批改试卷,统计导出成绩等功能很全面,除了在线刷题和考试,还有其他功能,我在这里简单说一下,详细的可以下载研究哦1、在线刷题:试题可以批量导入导出,学员可以随时随地刷题2、在线考试:多种考试模式,客观题自动阅卷,
WeiSha100 WeiSha100
3年前
C#在线学习平台源代码
分享一个C.NET的在线学习平台,有源代码和开发文档,可以做二次开发,可以在线点播,直播,刷题,在线考试测试,统计管理,教师后台可以批量上传试题,发布试卷,批改试卷,统计导出成绩等简单介绍一下这个平台的一些功能,详细的可以自行下载了解哦1、在线刷题:试题可以批量导入导出,学员可以随时随地刷题2、在线考试:多种考试模式,客观题自动阅卷,主观题人工阅卷3、视频
代码织风人
代码织风人
Lv1
举杯邀明月,对影成三人。
文章
4
粉丝
0
获赞
0