Leetcode题目索引

本文精选了AI领域的关键算法和技术,包括机器学习、深度学习、自然语言处理等,旨在为读者提供深入理解AI领域的洞见。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1Two SumMedium
2Add Two NumbersMedium
3Longest Substring Without Repeating CharactersMedium
4Median of Two Sorted ArraysHard
5Longest Palindromic SubstringMedium
6ZigZag ConversionEasy
7Reverse IntegerEasy
8String to Integer (atoi)Easy
9Palindrome NumberEasy
10Regular Expression MatchingHard
11Container With Most WaterMedium
12Integer to RomanMedium
13Roman to IntegerEasy
14Longest Common PrefixEasy
153SumMedium
163Sum ClosestMedium
17Letter Combinations of a Phone NumberMedium
184SumMedium
19Remove Nth Node From End of ListEasy
20Valid ParenthesesEasy
21Merge Two Sorted ListsEasy
22Generate ParenthesesMedium
23Merge k Sorted ListsHard
24Swap Nodes in PairsMedium
25Reverse Nodes in k-GroupHard
26Remove Duplicates from Sorted ArrayEasy
27Remove ElementEasy
28Implement strStr()Easy
29Divide Two IntegersMedium
30Substring with Concatenation of All WordsHard
31Next PermutationMedium
32Longest Valid ParenthesesHard
33Search in Rotated Sorted ArrayHard
34Search for a RangeMedium
35Search Insert PositionMedium
36Valid SudokuEasy
37Sudoku SolverHard
38Count and SayEasy
39Combination SumMedium
40Combination Sum IIMedium
41First Missing PositiveHard
42Trapping Rain WaterHard
43Multiply StringsMedium
44Wildcard MatchingHard
45Jump Game IIHard
46PermutationsMedium
47Permutations IIHard
48Rotate ImageMedium
49AnagramsMedium
50Pow(x, n)Medium
51N-QueensHard
52N-Queens IIHard
53Maximum SubarrayMedium
54Spiral MatrixMedium
55Jump GameMedium
56Merge IntervalsHard
57Insert IntervalHard
58Length of Last WordEasy
59Spiral Matrix IIMedium
60Permutation SequenceMedium
61Rotate ListMedium
62Unique PathsMedium
63Unique Paths IIMedium
64Minimum Path SumMedium
65Valid NumberHard
66Plus OneEasy
67Add BinaryEasy
68Text JustificationHard
69Sqrt(x)Medium
70Climbing StairsEasy
71Simplify PathMedium
72Edit DistanceHard
73Set Matrix ZeroesMedium
74Search a 2D MatrixMedium
75Sort ColorsMedium
76Minimum Window SubstringHard
77CombinationsMedium
78SubsetsMedium
79Word SearchMedium
80Remove Duplicates from Sorted Array IIMedium
81Search in Rotated Sorted Array IIMedium
82Remove Duplicates from Sorted List IIMedium
83Remove Duplicates from Sorted ListEasy
84Largest Rectangle in HistogramHard
85Maximal RectangleHard
86Partition ListMedium
87Scramble StringHard
88Merge Sorted ArrayEasy
89Gray CodeMedium
90Subsets IIMedium
91Decode WaysMedium
92Reverse Linked List IIMedium
93Restore IP AddressesMedium
94Binary Tree Inorder TraversalMedium
95Unique Binary Search Trees IIMedium
96Unique Binary Search TreesMedium
97Interleaving StringHard
98Validate Binary Search TreeMedium
99Recover Binary Search TreeHard
100Same TreeEasy
101Symmetric TreeEasy
102Binary Tree Level Order TraversalEasy
103Binary Tree Zigzag Level Order TraversalMedium
104Maximum Depth of Binary TreeEasy
105Construct Binary Tree from Preorder and Inorder TraversalMedium
106Construct Binary Tree from Inorder and Postorder TraversalMedium
107Binary Tree Level Order Traversal IIEasy
108Convert Sorted Array to Binary Search TreeMedium
109Convert Sorted List to Binary Search TreeMedium
110Balanced Binary TreeEasy
111Minimum Depth of Binary TreeEasy
112Path SumEasy
113Path Sum IIMedium
114Flatten Binary Tree to Linked ListMedium
115Distinct SubsequencesHard
116Populating Next Right Pointers in Each NodeMedium
117Populating Next Right Pointers in Each Node IIHard
118Pascal's TriangleEasy
119Pascal's Triangle IIEasy
120TriangleMedium
121Best Time to Buy and Sell StockMedium
122Best Time to Buy and Sell Stock IIMedium
123Best Time to Buy and Sell Stock IIIHard
124Binary Tree Maximum Path SumHard
125Valid PalindromeEasy
126Word Ladder IIHard
127Word LadderMedium
128Longest Consecutive SequenceHard
129Sum Root to Leaf NumbersMedium
130Surrounded RegionsMedium
131Palindrome PartitioningMedium
132Palindrome Partitioning IIHard
133Clone GraphMedium
134Gas StationMedium
135CandyHard
136Single NumberMedium
137Single Number IIMedium
138Copy List with Random PointerHard
139Word BreakMedium
140Word Break IIHard
141Linked List CycleMedium
142Linked List Cycle IIMedium
143Reorder ListMedium
144Binary Tree Preorder TraversalMedium
145Binary Tree Postorder TraversalHard
146LRU CacheHard
147Insertion Sort ListMedium
148Sort ListMedium
149Max Points on a LineHard
150Evaluate Reverse Polish NotationMedium
151Reverse Words in a StringMedium
152Maximum Product SubarrayMedium
153Find Minimum in Rotated Sorted ArrayMedium
154Find Minimum in Rotated Sorted Array IIHard
155Min StackEasy
156Binary Tree Upside Down Medium
157Read N Characters Given Read4 Easy
158Read N Characters Given Read4 II - Call multiple times Hard
159Longest Substring with At Most Two Distinct Characters Hard
160Intersection of Two Linked ListsEasy
161One Edit Distance Medium
162Find Peak ElementMedium
163Missing Ranges Medium
164Maximum GapHard
165Compare Version NumbersEasy
166Fraction to Recurring DecimalMedium
167Two Sum II - Input array is sorted Medium
168Excel Sheet Column TitleEasy
169Majority ElementEasy
170Two Sum III - Data structure design Easy
171Excel Sheet Column NumberEasy
172Factorial Trailing ZeroesEasy
173Binary Search Tree IteratorMedium

LeetCode 是一个在线编程学习和面试准备平台,它提供了大量的算法题目供用户练习。下面是一个经典的 LeetCode 题目及其解法示例。 ### **题目描述:两数之和 (Two Sum)** 给定一个整数数组 `nums` 和一个目标值 `target`,请你在该数组中找出和为目标值的两个整数,并返回他们的数组下标。 你可以假设每种输入只会对应一个答案。但是,同一个元素不能使用两次。 #### 示例: ```plaintext 输入: nums = [2, 7, 11, 15], target = 9 输出: [0, 1] 解释: 因为 nums[0] + nums[1] = 2 + 7 = 9 ,所以返回 [0, 1]。 ``` --- ### **解决方案** 我们可以采用哈希表的方式来高效解决这个问题,时间复杂度为 O(n),空间复杂度也为 O(n)。 #### Python 实现代码: ```python def two_sum(nums, target): # 创建一个字典用于存储遍历过的数字以及其对应的索引 hash_map = {} # 遍历数组中的每个元素 for index, value in enumerate(nums): # 计算当前值与目标值之间的差值 complement = target - value # 如果补数值已经在哈希表中,则直接返回结果 if complement in hash_map: return [hash_map[complement], index] # 否则将当前值存入哈希表 hash_map[value] = index # 若无符合条件的结果,抛出异常或返回空列表 return [] # 测试代码 if __name__ == "__main__": nums = [2, 7, 11, 15] target = 9 result = two_sum(nums, target) print(f"结果是: {result}") ``` --- ### **运行过程分析** 1. 我们创建了一个名为 `hash_map` 的字典来保存已经遍历过的数字与其对应的索引位置。 2. 对于每一个数字,我们先检查它的“互补数” (`target - current_number`) 是否存在于字典中。如果存在,就找到了一组满足条件的答案;若不存在,则把当前数字加入字典继续查找下一个数字。 3. 这样做的原因是利用了哈希表快速查询的特点,使得整个算法的时间复杂度降低至线性级别。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值