文章最前: 我是Octopus,这个名字来源于我的中文名--章鱼;我热爱编程、热爱算法、热爱开源。所有源码在我的个人github ;这博客是记录我学习的点点滴滴,如果您对 Python、Java、AI、算法有兴趣,可以关注我的动态,一起学习,共同进步。
题目目录
1)Array题型
- 733.Flood Fill(对二维数组进行转换)
- 240.Search2D(查找数字)
- 57. Insert Interval (向一个区间中插入一个区间)
- 42. Trapping Rain Water(能装多少水问题)
- 84. Largest Rectangle in Histogram(面积最大的长方形)
- 152. Maximum Product Subarray(最大的乘积数组)
- 85. Maximal Rectangle(最大的矩形)
- 322. Coin Change(硬币兑换问题)
- 621. Task Scheduler(任务规划问题)
- 221. Maximal Square(数组中最大的正方形)
- 279. Perfect Squares(完美的平方)
- 62. Unique Paths(一个点到另一个点的所有路径)
- 11. Container With Most Water(求能装多少水问题)
- 287. Find the Duplicate Number(找出重复的数)
- 128. Longest Consecutive Sequence(找出最大的连续子串)
- 215. Kth Largest Element in an Array(输出第k大的数)
- 55. Jump Game(跳远比赛)
- 300. Longest Increasing Subsequence(最大增长序列)
- 64. Minimum Path Sum(最小路径问题)
- 56. Merge Intervals(合并区间)
- 72. Edit Distance(编辑的最小步数)
- 39. Combination Sum(组合值等于某个固定值)
- 200. Number of Islands(查找岛屿的个数)
- 560. Subarray Sum Equals K(找出数组中连续子串和等于k)
- 406. Queue Reconstruction by Height(对人进行排序)
- 416. Partition Equal Subset Sum(判断一个数组可以平均分为两半)
- 4. Median of Two Sorted Arrays(找出两个有序数组的中间数)
- 121. Best Time to Buy and Sell Stock (找出股票的最大收益)
- 581. Shortest Unsorted Continuous Subarray(找出数组中不需要排序的最小数组)
- 70. Climbing Stairs(爬楼梯问题)
- 437. Path Sum III(查找最大值)
- 198. House Robber(房子抢劫问题)
- 2. Add Two Numbers(计算两个数的和)
- 15. Three Sum(三个数相加问题)
- 448. Find All Numbers Disappeared in an Array (找出一个数组中没有出现的数)
- 283. Move Zeroes(把0移动到数组的后面)
- 169. Majority Element(找出大多数元素)
- 494. Target Sum(计算目标数)
- 349.Intersection of Two Arrays(求两个数组的交集且不重合)
- 350.Intersection of Two Arrays II(数组的的相交)
- 136.Single Number(找出单个数字)
- 7.Reverse Integer(反转一个数字)
- Top K Frequent Elements(找出出现频率最高的K个数)
- 35. Search Insert Position(数字插入合适的位置)
- 268. Missing Number(遗失的数字)
- 521. Longest Uncommon Subsequence I(找出特殊的子字符串)
- 217. Contains Duplicate(数组中是否有重复的数)
- 728. Self Dividing Numbers(找出范围内自除数)
- 122.Best Time Buy(最好时间购买股票)
- 1217.Play With Chips(玩筹码)
- 26. Remove Duplicates from Sorted Array(去除数组中重复的数)
- 53. Maximum Subarray(找出数组中和最大子数组)
2)List类型
- 114. Flatten Binary Tree to Linked List(固定二叉树为链表)
- 23. Merge k Sorted Lists(K个链表进行排序)
- 142. Linked List Cycle II(找出链表中的环)
- 160. Intersection of Two Linked Lists(找出两个链表的交点)
- 234. Palindrome Linked List(判断一个链表是不是回文链表)
- 155. Min Stack(找出栈中最小的那个值)
- 148. Sort List(对链表进行排序)
- 21. Merge Two Sorted Lists(合并两个有序链表)
- 206. Reverse Linked List(单链表进行反转)
- 141. Linked List Cycle(判断链表中是否有环)
- 19. Remove Nth Node From End of List(删除链表中倒数第K个节点)
3)String类型
- 32. Longest Valid Parentheses(最长的有效匹配串)
- 22. Generate Parentheses(生成匹配括号)
- 49. Group Anagrams(相同字符子串问题)
- 139. Word Break(单词划分)
- 5. Longest Palindromic Substring(找出一个字符串中最大的子回文串)
- 394. Decode String(解析字符串)
- 3. Longest Substring Without Repeating Characters(找出最长子串没有重复字符)
- 917. Reverse Only Letters(仅仅反转字符)
- 520.Detect Capital(检测大小写字母)
- 541.Reverse String II(按照要求反转字符串)
- 66. Plus One(数组数字加1)
- 647.Palindromic Substrings(找出字符串中所有的回文子串)
- 438. Find All Anagrams in a String(找出相同的子串的下标)
- 67. Add Binary(二进制相加)
4)HashTable类型
- 1. Two Sum(一个数组中两个数的和)
- 3. Longest Substring Without Repeating Characters(最长无重复字符串)
- 48. Rotate Image(旋转图片)
- 461. Hamming Distance(汉明距离)
- 771. Jewels and Stones(计算宝石的数量)
- 167. Two Sum II - Input array is sorted(顺序数组中两个数的和)
5)Math类型
6)Tree类型
- 94.Binary Tree Inorder Traversal(二叉树中序遍历)
- 144.Binary Tree PreOrder Traversal(二叉树前序遍历)
- 145.Binary Tree Post Order Traversal(二叉树后序遍历)
- 236. Lowest Common Ancestor of a Binary Tree(二叉树中最小祖先)
- 337. House Robber III(偷窃问题)
- 102. Binary Tree Level Order Traversal(二叉树的层次遍历)
- 94. Binary Tree Inorder Traversal(中序遍历二叉树)
- 538. Convert BST to Greater Tree(一棵树上加入所有的节点)
- 572. Subtree of Another Tree(判断一棵树是不是另外一棵树的子树)
- 543. Diameter of Binary Tree(找出二叉树中最大的直径)
- 101. Symmetric Tree(判断该树是不是对称树)
- 226. Invert Binary Tree(倒转一棵二叉树)
- 104. Maximum Depth of Binary Tree(查找二叉树的最大深度)
- 617. Merge Two Binary Trees(合并两棵二叉树)
- 606. Construct String from Binary Tree(构建一棵二叉树)