Skip to content
/ leetcode Public

The leetcode problem solutions.(力扣算法个人学习笔记) 查询、排序、五大算法汇总

License

NotificationsYou must be signed in to change notification settings

houbb/leetcode

Repository files navigation

leetcode

leetcode 算法笔记。

程序 = 数据结构 + 算法

推荐阅读

000-从零开始的数据结构与算法

001-01-ksum 求符合条件的 k 个数 1. Two Sum/15. 3Sum/18. 4Sum/

002-两数相加 add two numbers

003-无重复字符的最长子串 Longest Substring Without Repeating Characters

004-寻找两个正序数组的中位数

005-最长回文子串 Longest Palindromic Substring

006-N 字形变换 zigzag conversion

007-整数反转 reverse integer 整数的位运算汇总

008-Regular Expression Matching 正则表达式匹配 + 42.Wildcard Matching 通配符匹配

009-盛最多水的容器 Container With Most Water 双指针法 + 42. 接雨水 Trapping Rain Water + 407. Trapping Rain Water II

010-删除链表的倒数第 N 个结点 Remove Nth Node From End of List 双指针

011-21.合并多个有序的链表 merge k sorted lists

012-括号生成 generate-parentheses + 20. 有效的括号 valid parentheses + 32. 最长有效括号 Longest Valid Parentheses

013-K 个一组翻转链表 Reverse Nodes in k-Group + 24. 两两交换链表中的节点 swap nodes in pairs

014-两数相除 divide two integers

015-串联所有单词的子串 Substring with Concatenation of All Words

016-31.下一个排列 next permutation + 46. 全排列 permutations + 47. 全排列 II permutations-ii + 60. 排列序列 permutation sequence

017-33. 搜索旋转排序数组 Search in Rotated Sorted Array + 81. Search in Rotated Sorted Array II + 153. Find Minimum in Rotated Sorted Array 寻找旋转排序数组中的最小值 + 154.Find Minimum in Rotated Sorted Array II

018-34. 在排序数组中查找元素的第一个和最后一个位置 Find First and Last Position of Element in Sorted Array

019-36. 有效的数独 Valid Sudoku + 37. 解数独 sudoku solver

020-39. 组合总和 Combination Sum + 40. 组合总和 II Combination Sum II + 77. 组合 combinations + 216. Combination Sum III + 377. 组合总和 Ⅳ

基础算法

查找

java 如何实现 binary search 二分查找法?

排序

sort-00-排序算法汇总

sort-01-bubble sort 冒泡排序算法详解

sort-02-QuickSort 快速排序到底快在哪里?

sort-03-SelectSort 选择排序算法详解

sort-04-heap sort 堆排序算法详解

sort-05-insert sort 插入排序算法详解

sort-06-shell sort 希尔排序算法详解

sort-07-merge sort 归并排序

sort-08-counting sort 计数排序

sort-08-bucket sort 桶排序

sort-09-timesort 时间排序

sort-10-java big file sort 超大文件如何实现排序?外归并排序(External merge sort)

五大算法

五大基本算法概览

五大基本算法之回溯算法 backtracking

五大基本算法之分治算法 Divided

五大基本算法之动态规划算法 DP dynamic programming

五大基本算法之穷举算法

五大基本算法之贪心算法 Greedy

算法实现

000-100

序号难题解决方案速度%内存%时间难度
001two-num-sumjava99.9369.352020-6-9 11:24:16EASY
002add-two-numbersjava10044.452020-6-9 14:54:51EASY
003longest-substring-without-repeating-charactersjava99.7884.352020-6-9 17:40:26EASY
004median-of-two-sorted-arraysjava99.8191.062020-6-9 20:09:57EASY
005longest-palindromic-substringjava96.2062.762020-6-9 23:43:38EASY
006zigzag-conversionjava99.8599.382020-6-10 11:01:12EASY
007reverse-integerjava10094.782020-6-10 13:00:59EASY
008string-to-integer-atoijava81.2355.252020-6-10 16:55:11EASY
009palindrome-numberjava10071.672020-6-10 18:15:00EASY
010regular-expression-matchingjava92.8473.312020-6-11 14:54:29EASY
011container-with-most-waterjava95.2838.162020-6-11 17:11:50EASY
012integer-to-romanjava10099.542020-6-11 17:11:50EASY
013roman-to-integerjava10095.162020-6-11 22:12:57EASY
014longest-common-prefixjava10051.742020-6-11 22:38:49EASY
0153numjava99.87602020-6-12 15:34:15EASY
0163sum-closestjava10085.212020-6-12 16:26:29EASY
017letter-combinations-of-a-phone-numberjava10094.582020-6-15 11:34:35EASY
0184sumjava92.2156.172020-6-15 14:49:57EASY
019remove-nth-node-from-end-of-listjava10030.882020-6-16 22:45:02EASY
020valid-parenthesesjava10095.672020-6-16 22:45:02EASY
021merge-two-sorted-listsjava10088.762020-6-17 14:03:02EASY
022generate-parenthesesjava10063.292020-6-17 17:25:18EASY
023merge-k-sorted-listsjava10035.982020-6-23 23:00:47EASY
024swap-nodes-in-pairsjava10071.712020-6-24 13:37:18EASY
025reverse-nodes-in-k-groupjava10028.232020-6-24 17:25:24EASY
026remove-duplicates-from-sorted-arrayjava10059.782020-6-28 22:27:49EASY
027remove-elementjava10042.612020-6-28 22:27:49EASY
028implement-strstrjava64.8245.262020-6-28 22:27:49EASY
029divide-two-integersjava10023.802020-6-28 22:27:49EASY
030substring-with-concatenation-of-all-wordsjava99.9657.992020-6-29 14:34:24EASY
031next-permutationjava10066.282021-2-26 00:19:24MEDIUM
033search-in-rotated-sorted-arrayjava10075.972021-2-26 23:27:24MEDIUM
034find-first-and-last-position-of-element-in-sorted-arrayjava10072.922021-2-27 12:26:24MEDIUM
036valid-sudokujava10087.002021-2-27 12:26:24MEDIUM
038count-and-sayjava10099.632021-2-27 12:26:24MEDIUM
039combine-sumjava9992.842021-2-28 12:26:24MEDIUM
040combine-sum-iijava9996.642021-2-28 12:26:24MEDIUM
043multiply-stringsjava10074.172021-2-28 18:01:24MEDIUM
044wildcard-matchingjava10074.172021-2-28 18:01:24MEDIUM
045jump-game-iijava10074.172021-2-28 18:01:24MEDIUM
046permutationsjava93.7559.412021-2-28 18:40:24MEDIUM
047permutations-iijava99.3794.212021-2-28 19:15:24MEDIUM
048rotate-imagejava10094.212021-2-28 21:15:24MEDIUM
049group-anagramsjava99.7442.562021-2-28 22:15:24MEDIUM
050powerx-njava10046.642021-2-28 23:05:24MEDIUM
054spiral-matrixjava10088.282021-03-01 22:05:24MEDIUM
055jump-gamejava86.6652.222021-03-01 22:58:24MEDIUM
056merge-intervalsjava97.7535.992021-03-02 21:08:24MEDIUM
057insert-intervalsjava10093.682021-03-02 22:08:24MEDIUM
059spiral-matrix-iijava10081.112021-03-02 22:30:24MEDIUM
061rotate-listjava10087.662021-03-02 21:34:24MEDIUM
062unique-pathsjava10087.662021-03-03 21:00:24MEDIUM
063unique-paths-iijava10087.662021-03-03 21:34:24MEDIUM
064minimum-path-sumjava9687.662021-03-03 21:34:24MEDIUM
070climbing-stairsjava10091.672021-03-08 23:34:24EASY
071simplify-pathjava94.587.662021-03-04 21:34:24MEDIUM
073set-matrix-zeroesjava9687.662021-03-04 22:18:24MEDIUM
074search-a-2d-matrixjava10073.352021-03-07 13:03:24MEDIUM
075sort-colorsjava10045.232021-03-07 13:50:24MEDIUM
077combinationsjava92.6595.252021-03-04 23:18:24MEDIUM
078subsetsjava10095.252021-03-07 14:20:24MEDIUM
079word-searchjava10.7695.252021-03-07 18:20:24MEDIUM
080remove-duplicates-from-sorted-array-iijava10095.252021-03-07 19:20:24MEDIUM
081search-in-rotated-sorted-array-iijava10095.252021-03-07 20:20:24MEDIUM
082remove-duplicates-from-sorted-list-iijava10095.252021-03-07 21:20:24MEDIUM
086partition-listjava10089.242021-03-07 22:08:24MEDIUM
089grey-codejava75.589.242021-03-07 22:38:24MEDIUM
090subsets-iijava99.4993.432021-03-07 14:27:24MEDIUM
091decode-waysjava10093.432021-03-08 23:27:24MEDIUM
092reverse-linked-list-iijava10028.172021-03-09 22:27:24MEDIUM
093restore-ip-addressesjava98.7195.132021-03-09 23:27:24MEDIUM
094binary-tree-inorder-traversaljava10088.152021-03-10 23:27:24MEDIUM
095unique-binary-search-trees-iijava93.8188.472021-03-10 23:27:24MEDIUM
096unique-binary-search-treesjava10090.452021-03-10 23:27:24MEDIUM
098validate-binary-search-treejava10044.592021-03-10 23:27:24MEDIUM
099recover-binary-search-treejava99.9664.642023-01-03 15:00:24MEDIUM
100same-treejava10044.662023-01-03 15:27:24EASY

101-200

序号难题速度% & 内存%时间难度
101symmetric-tree100 & 88.822023-01-03 16:08EASY
102binary-tree-level-order-traversal100 & 99.992021-03-16 21:37MEDIUM
103binary-tree-zigzag-level-order-traversal100 & 99.982021-03-17 19:54MEDIUM
104maximum-depth-of-binary-tree100 & 42.642023-01-03 16:42EASY
105construct-binary-tree-from-preorder-and-inorder-traversal100 & 1002021-03-17 21:21MEDIUM
106construct-binary-tree-from-inorder-and-postorder-traversal100 & 1002021-03-17 22:20MEDIUM
107binary-tree-level-order-traversal-ii100 & 1002021-03-16 21:54MEDIUM
108convert-sorted-array-to-binary-search-tree100 & 64.932023-01-03 17:32EASY
109convert-sorted-list-to-binary-search-tree100 & 1002021-03-17 23:19MEDIUM
110balanced-binary-tree97.66 & 37.732023-01-03 18:14EASY
111minimum-depth-of-binary-tree100 & 912023-01-03 23:14EASY
112path-sum100 & 1002021-03-18 22:09EASY
113path-sum-ii100 & 1002021-03-18 22:01MEDIUM
114flatten-binary-tree-to-linked-list100 & 87.142023-01-04 09:48MEDIUM
115distinct-subsequences93 & 972023-01-04 11:15HARD
116populating-next-right-pointers-in-each-node100 & 1002021-03-30 14:58MEDIUM
117populating-next-right-pointers-in-each-node-ii79 & 1002021-03-20 16:47MEDIUM
118pascals-triangle100 & 872023-01-04 13:30EASY
119pascals-triangle-ii100 & 202023-01-04 13:52EASY
120triangle69 & 992021-01-22 17:07MEDIUM
121best-time-to-buy-and-sell-stock100 & 882023-01-04 14:40EASY
122best-time-to-buy-and-sell-stock-ii93 & 652023-01-04 15:05MEDIUM
123best-time-to-buy-and-sell-stock-iii73 & 522023-01-04 17:21HARD
124binary-tree-maximum-path-sum99 & 302023-01-04 18:27HARD
125valid-palindrome56 & 332023-01-05 10:06EASY
126word-ladder-iiX2023-01-05 17:21HARD
127word-ladder97 & 502023-01-05 15:48HARD
128longest-consecutive-sequence99 & 962023-01-05 17:37MEDIUM
129sum-root-to-leaf-numbers100 & 1002021-03-22 18:01MEDIUM
130surrounded-regions99 & 1002021-03-22 23:05MEDIUM
131palindrome-partitioning70 & 602023-01-05 21:02MEDIUM
132palindrome-partitioning-ii72 & 422023-01-05 21:33HARD
133clone-graph98 & 1002021-03-24 21:34MEDIUM
134gas-station100 & 1002021-03-25 22:40MEDIUM
135candy63 & 562023-01-06 13:49HARD
136single-number100 & 1002021-03-25 23:49EASY
137single-number-ii100 & 1002021-03-26 21:00MEDIUM
138copy-list-with-random-pointer100 & 1002021-03-31 21:03MEDIUM
139word-break100 & 992023-01-06 16:01MEDIUM
140word-break-ii98 & 302023-01-06 16:27HARD
188best-time-to-buy-and-sell-stock-iv63 & 372023-01-04 17:25HARD

About

The leetcode problem solutions.(力扣算法个人学习笔记) 查询、排序、五大算法汇总

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages