LeetCode 问题汇总(算法,难度,频率)


Id

Question

Difficulty

Frequency

Data Structures

Algorithms
1 Two Sum 2 5 array + set sort + two pointers
2 Add Two Numbers 3 4 linked list two pointers + math
3 Longest Substring Without Repeating Characters 3 2 string + hashtable two pointers
4 Median of Two Sorted Arrays 5 3 array binary search
5 Longest Palindromic Substring 4 2 string  
6 ZigZag Conversion 3 1 string  
7 Reverse Integer 2 3   math
8 String to Integer (atoi) 2 5 string math
9 Palindrome Number 2 2   math
10 Regular Expression Matching 5 3 string recursion + dp
11 Container With Most Water 3 2 array two pointers
12 Integer to Roman 3 4   math
13 Roman to Integer 2 4   math
14 Longest Common Prefix 2 1 string  
15 3Sum 3 5 array two pointers
16 3Sum Closest 3 1 array two pointers
17 Letter Combinations of a Phone Number 3 3 string dfs
18 4Sum 3 2 array  
19 Remove Nth Node From End of List 2 3 linked list two pointers
20 Valid Parentheses 2 5 string stack
21 Merge Two Sorted Lists 2 5 linked list sort + two pointers + merge
22 Generate Parentheses 3 4 string dfs
23 Merge k Sorted Lists 3 4 linked list + heap sort + two pointers + merge
24 Swap Nodes in Pairs 2 4 linked list  
25 Reverse Nodes in k-Group 4 2 linked list recursion + two pointers
26 Remove Duplicates from Sorted Array 1 3 array two pointers
27 Remove Element 1 4 array two pointers
28 Implement strStr() 4 5 string two pointers + KMP + rolling hash
29 Divide Two Integers 4 3   binary search + math
30 Substring with Concatenation of All Words 3 1 string two pointers
31 Next Permutation 5 2 array permutation
32 Longest Valid Parentheses 4 1 string dp
33 Search in Rotated Sorted Array 4 3 array binary search
34 Search for a Range 4 3 array binary search
35 Search Insert Position 2 2 array  
36 Valid Sudoku 2 2 array  
37 Sudoku Solver 4 2 array dfs
38 Count and Say 2 2 string two pointers
39 Combination Sum 3 3 array combination
40 Combination Sum II 4 2 array combination
41 First Missing Positive 5 2 array sort
42 Trapping Rain Water 4 2 array two pointers + stack
43 Multiply Strings 4 3 string two pointers + math
44 Wildcard Matching 5 3 string recursion + dp + greedy
45 Jump Game II 4 2 array  
46 Permutations 3 4 array permutation
47 Permutations II 4 2 array permutation
48 Rotate Image 4 2 array  
49 Anagrams 3 4 string + hashtable  
50 Pow(x, n) 3 5   binary search + math
51 N-Queens 4 3 array dfs
52 N-Queens II 4 3 array dfs
53 Maximum Subarray 3 3 array dp
54 Spiral Matrix 4 2 array  
55 Jump Game 3 2 array  
56 Merge Intervals 4 5 array + linked list + red-black tree sort + merge
57 Insert Interval 4 5 array + linked list + red-black tree sort + merge
58 Length of Last Word 1 1 string  
59 Spiral Matrix II 3 2 array  
60 Permutation Sequence 5 1   permutation + math
61 Rotate List 3 2 linked list two pointers
62 Unique Paths 2 3 array dp
63 Unique Paths II 3 3 array dp
64 Minimum Path Sum 3 3 array dp
65 Valid Number 2 5 string math
66 Plus One 1 2 array math
67 Add Binary 2 4 string two pointers + math
68 Text Justification 4 2 string  
69 Sqrt(x) 4 4   binary search
70 Climbing Stairs 2 5   dp
71 Simplify Path 3 1 string stack
72 Edit Distance 4 3 string dp
73 Set Matrix Zeroes 3 5 array  
74 Search a 2D Matrix 3 3 array binary search
75 Sort Colors 4 2 array sort + two pointers
76 Minimum Window Substring 4 2 string two pointers
77 Combinations 3 4   combination
78 Subsets 3 4 array recursion + combination
79 Word Search 3 4 array dfs
80 Remove Duplicates from Sorted Array II 2 2 array two pointers
81 Search in Rotated Sorted Array II 5 3 array binary search
82 Remove Duplicates from Sorted List II 3 3 linked list recursion + two pointers
83 Remove Duplicates from Sorted List 1 3 linked list  
84 Largest Rectangle in Histogram 5 2 array stack
85 Maximal Rectangle 5 1 array dp + stack
86 Partition List 3 3 linked list two pointers
87 Scramble String 5 2 string recursion + dp
88 Merge Sorted Array 2 5 array two pointers + merge
89 Gray Code 4 2   combination
90 Subsets II 4 2 array recursion + combination
91 Decode Ways 3 4 string recursion + dp
92 Reverse Linked List II 3 2 linked list two pointers
93 Restore IP Addresses 3 3 string dfs
94 Binary Tree Inorder Traversal 4 3 tree + hashtable recursion + morris + stack
95 Unique Binary Search Trees II 4 1 tree dp + dfs
96 Unique Binary Search Trees 3 1 tree dp
97 Interleaving String 5 2 string recursion + dp
98 Validate Binary Search Tree 3 5 tree dfs
99 Recover Binary Search Tree 4 2 tree dfs
100 Same Tree 1 1 tree dfs
101 Symmetric Tree 1 2 tree dfs
102 Binary Tree Level Order Traversal 3 4 tree bfs
103 Binary Tree Zigzag Level Order Traversal 4 3 queue + tree bfs + stack
104 Maximum Depth of Binary Tree 1 1 tree dfs
105 Construct Binary Tree from Preorder and Inorder Tr 3 3 array + tree dfs
106 Construct Binary Tree from Inorder and Postorder T 3 3 array + tree dfs
107 Binary Tree Level Order Traversal II 3 1 tree bfs
108 Convert Sorted Array to Binary Search Tree 2 3 tree dfs
109 Convert Sorted List to Binary Search Tree 4 3 linked list recursion + two pointers
110 Balanced Binary Tree 1 2 tree dfs
111 Minimum Depth of Binary Tree 1 1 tree dfs
112 Path Sum 1 3 tree dfs
113 Path Sum II 2 2 tree dfs
114 Flatten Binary Tree to Linked List 3 3 tree recursion + stack
115 Distinct Subsequences 4 2 string dp
116 Populating Next Right Pointers in Each Node 3 3 tree dfs
117 Populating Next Right Pointers in Each Node II 4 2 tree dfs
118 Pascal‘s Triangle 2 1 array  
119 Pascal‘s Triangle II 2 1 array  
120 Triangle 3 1 array dp
121 Best Time to Buy and Sell Stock 2 1 array dp
122 Best Time to Buy and Sell Stock II 3 1 array greedy
123 Best Time to Buy and Sell Stock III 4 1 array dp
124 Binary Tree Maximum Path Sum 4 2 tree dfs
125 Valid Palindrome 2 5 string two pointers
126 Word Ladder II 1 1    
127 Word Ladder 3 5 graph bfs + shortest path
128 Longest Consecutive Sequence 4 3 array  
129 Sum Root to Leaf Numbers 2 4 tree dfs
130 Surrounded Regions 4 3 array bfs + dfs
131 Palindrome Partitioning 3 4 string dfs
132 Palindrome Partitioning II 4 3 string dp
时间: 2024-10-13 23:41:15

LeetCode 问题汇总(算法,难度,频率)的相关文章

72【leetcode】经典算法- Lowest Common Ancestor of a Binary Search Tree(lct of bst)

题目描述: 一个二叉搜索树,给定两个节点a,b,求最小的公共祖先 _______6______ / ___2__ ___8__ / \ / 0 _4 7 9 / 3 5 例如: 2,8 -->6 2,4-–>2 原文描述: Given a binary search tree (BST), find the lowest common ancestor (LCA) of two given nodes in the BST. According to the definition of LCA

amazon 汇总 算法

7. write a function cn random an array. public class xiaodan_random { Random rand = new Random(); public void swap(int[] array, int i, int j){ int buf = array[i]; array[i] = array[j]; array[j] = buf; } public void random(int[] array){ for(int i=0; i<

用Javascript方式实现LeetCode中的算法(更新中)

前一段时间抽空去参加面试,面试官一开始让我做一道题,他看完之后,让我回答一下这个题的时间复杂度并优化一下,当时的我虽然明白什么是时间复杂度,但不知道是怎么计算的,一开局出师不利,然后没然后了,有一次我逛博客园时看到有个博主的文章说到有LeetCode这玩意,于是就知道了LeetCode.忽然有一种疑问:前端学不学算法?我看过一篇博文:为什么我认为数据结构与算法对前端开发很重要? 我觉得,前端应该是要学一下算法的,不久后前端明朗化,要做的工作量不低于后端人员,到时候也会像优化页面一样去优化js,既

Leetcode 题目列表(难度、出现频率、知识点)

不全,但好像没看到有更好的版本,刷前132题暂时凑合着用吧! 转载自:LeetCode Question Difficulty Distribution               1 Two Sum 2 5 array sort         set Two Pointers 2 Add Two Numbers 3 4 linked list Two Pointers           Math 3 Longest Substring Without Repeating Character

Leetcode题解 - 部分中等难度算法题解(56、957、825、781、1324、816)

957. N 天后的牢房 思路: 模拟变换,当N天结合后返回 => 当N非常大的时候,超时 => 一般N很大的时候,这种题目必然存在循环,所以记录找过的状态,一旦出现已经访问过的状态可立即跳出循环. class Solution: def prisonAfterNDays(self, cells, N: int): vis = [] while 1: if not N: return cells if cells in vis: ind = vis.index(cells) break tce

【leetcode】经典算法题-Counting Bits

题目描述: 给定一个数字n,统计0-n之间的数字二进制的1的个数,并用数组输出 例子: For num = 5 you should return [0,1,1,2,1,2]. 要求: 算法复杂复o(n) 空间复杂度o(n) 原文描述: Given a non negative integer number num. For every numbers i in the range 0 ≤ i ≤ num calculate the number of 1's in their binary r

Leetcode拾萃(算法篇)——暴力破解(DFS、BFS、permutation)

引言 现在互联网的招工流程,算法题是必不可少的,对于像我这种没搞过ACM的吃瓜群众,好在有leetcode,拯救我于水火.于是乎,断断续续,刷了一些题,其中一些题还是值得细细品味的,现把一些问题整理一下,有些解法是我自己写的,也有些解法是参考了discuss中的答案,当做是秋招的一个小小总结.由于水平有限,代码写得并不好,选的题目也只能用于入门,希望大家见谅. 暴力破解 暴力破解,据我个人理解,就是遍历整棵搜索树,没有删繁就简,紧是单单的搜索和匹配. 1.基本暴力破解:对于最基本的暴力破解,就是

LeetCode 题解汇总

前言 现如今,对于技术人员(软开.算法等)求职过程中笔试都是必不可少的(免笔试的除外,大部分人都需要笔试),而笔试一般组成都是选择.填空.简答题.编程题(这部分很重要),所以刷题是必不可少的:对于应届生求职来说更是需要疯狂的刷题,因为平时都有自己的科研任务,但是个人还是建议刷题应该循序渐进的,提前准备,这样就可以比较轻松地应对编程题这一部分了,而不用每天只集中在刷题这件事上:对于已经工作的人也不是说不再需要刷题了,即使是跳槽也会有算法题的考核,所以无论对于应届生还是在职人员,找工作都需要一定的算

leetcode sum相关算法题

1. Two Sum(https://oj.leetcode.com/problems/two-sum/) 解题思路: 解法一: 暴力,O(n2)时间复杂度,TLE 解法二:利用hash, 记录下数组中每个值对应的下标,再遍历一遍数组,通过查看target-num[i]的值是否在map中来确定另一个数值.时间复杂度O(n) 解法三:对num数组排序,O(nlog(n)), 然后左右夹逼O(n). 但这道题要求记录下标,故这个方法行不通. python代码如下: 1 def twoSum(self