Code
Hub
Workspaces
Following
Trending
Connect
MCP
copy
Create free account
hub
/
github.com/LjyYano/LeetCode
/ functions
Functions
1,125 in github.com/LjyYano/LeetCode
⨍
Functions
1,125
◇
Types & classes
459
↓ 2 callers
Method
largestDivisibleSubset
(int[] nums)
src/main/java/L0368_LargestDivisibleSubset.java:29
↓ 2 callers
Method
levelOrder
(Node root)
src/main/java/L0429_NAryTreeLevelOrderTraversal.java:39
↓ 2 callers
Method
longestConsecutive
(int[] nums)
src/main/java/L0128_LongestConsecutiveSequence.java:25
↓ 2 callers
Method
longestPalindromeSubseq
动态规划 dp[i][j] 表示 s[i..j] 的最长回文子序列长度
src/main/java/L0516_LongestPalindromicSubsequence.java:28
↓ 2 callers
Method
lowestCommonAncestor
递归查找最近公共祖先 对于当前节点: 1. 如果当前节点为空,或者等于 p 或 q,直接返回当前节点 2. 递归在左右子树中查找 p 和 q 3. 如果左右子树的返回值都不为空,说明 p 和 q 分别在左右子树中,当前节点就是最近公共祖先 4. 如果只有一个子树的返回值不为空,说明 p 和 q 都在
src/main/java/L0236_LowestCommonAncestorOfABinaryTree.java:59
↓ 2 callers
Method
lowestCommonAncestor
(TreeNode root, TreeNode p, TreeNode q)
src/main/java/L0235_LowestCommonAncestorOfABinarySearchTree.java:45
↓ 2 callers
Method
majorityElement
(int[] nums)
src/main/java/L0169_MajorityElement.java:27
↓ 2 callers
Method
makesquare
(int[] matchsticks)
src/main/java/L0473_MatchsticksToSquare.java:28
↓ 2 callers
Method
matches
判断字符串 s 的第 i 个字符和模式串 p 的第 j 个字符是否匹配
src/main/java/L0010_RegularExpressionMatching.java:55
↓ 2 callers
Method
maxArray
(int[] nums, int k)
src/main/java/L0321_CreateMaximumNumber.java:58
↓ 2 callers
Method
maxPoints
(int[][] points)
src/main/java/L0149_MaxPointsOnALine.java:25
↓ 2 callers
Method
maxProfit
动态规划解法 dp[i][j][0] 表示第 i 天,已进行 j 次交易,手上没有股票的最大利润 dp[i][j][1] 表示第 i 天,已进行 j 次交易,手上持有股票的最大利润
src/main/java/L0188_BestTimeToBuyAndSellStockIV.java:31
↓ 2 callers
Method
maxSlidingWindow
使用双端队列实现滑动窗口最大值 队列中存储的是数组下标,并且保持队列中的元素单调递减
src/main/java/L0239_SlidingWindowMaximum.java:40
↓ 2 callers
Method
maxSumSubmatrix
(int[][] matrix, int k)
src/main/java/L0363_MaxSumOfRectangleNoLargerThanK.java:28
↓ 2 callers
Method
minMoves2
(int[] nums)
src/main/java/L0462_MinimumMovesToEqualArrayElementsII.java:28
↓ 2 callers
Method
minMutation
(String start, String end, String[] bank)
src/main/java/L0433_MinimumGeneticMutation.java:24
↓ 2 callers
Method
minPathSum
(int[][] grid)
src/main/java/L0064_MinimumPathSum.java:27
↓ 2 callers
Method
moveToHead
(Node node)
src/main/java/L0146_LRUCache.java:118
↓ 2 callers
Method
moveZeroes
(int[] nums)
src/main/java/L0283_MoveZeroes.java:24
↓ 2 callers
Method
multiply
(String num1, String num2)
src/main/java/L0043_MultiplyStrings.java:17
↓ 2 callers
Method
nextGreaterElement
单调栈解法 使用单调栈预处理 nums2,找出每个元素的下一个更大元素
src/main/java/L0496_NextGreaterElementI.java:42
↓ 2 callers
Method
nextGreaterElements
单调栈 + 循环数组 遍历两次数组来模拟循环
src/main/java/L0503_NextGreaterElementII.java:33
↓ 2 callers
Method
numIslands
DFS 深度优先搜索解法 遍历整个网格,每当遇到一个未访问的陆地时,就进行 DFS,将相连的陆地标记为已访问
src/main/java/L0200_NumberOfIslands.java:39
↓ 2 callers
Method
numSquares
(int n)
src/main/java/L0279_PerfectSquares.java:23
↓ 2 callers
Method
numTrees
使用动态规划求解不同二叉搜索树的数量 定义 dp[i] 表示由 i 个节点组成的不同二叉搜索树的数量 对于每个节点 j(1 <= j <= i),以 j 为根节点时: - 左子树由 [1, j-1] 组成,共 j-1 个节点 - 右子树由 [j+1, i] 组成,共 i-j 个节点 状态转移方程
src/main/java/L0096_UniqueBinarySearchTrees.java:32
↓ 2 callers
Method
numberOfArithmeticSlices
(int[] nums)
src/main/java/L0446_ArithmeticSlicesIISubsequence.java:43
↓ 2 callers
Method
oddEvenList
将链表分成奇数位置节点和偶数位置节点,然后重新连接 时间复杂度 O(n),空间复杂度 O(1)
src/main/java/L0328_OddEvenLinkedList.java:30
↓ 2 callers
Method
pacificAtlantic
(int[][] heights)
src/main/java/L0417_PacificAtlanticWaterFlow.java:24
↓ 2 callers
Method
partition
(ListNode head, int x)
src/main/java/L0086_PartitionList.java:25
↓ 2 callers
Method
partition
(String s)
src/main/java/L0131_PalindromePartitioning.java:25
↓ 2 callers
Method
pathSum
(TreeNode root, int targetSum)
src/main/java/L0437_PathSumIII.java:32
↓ 2 callers
Method
permuteUnique
(int[] nums)
src/main/java/L0047_PermuteUnique.java:24
↓ 2 callers
Method
pick
使用蓄水池抽样算法 1. 遍历数组,对于第 k 个等于 target 的数,以 1/k 的概率选择它 2. 这样可以保证每个等于 target 的索引被选中的概率相等
src/main/java/L0398_RandomPickIndex.java:47
↓ 2 callers
Method
pop
从队列的开头移除并返回元素 如果 stackOut 为空,将 stackIn 中的所有元素倒序压入 stackOut
src/main/java/L0232_ImplementQueueUsingStacks.java:63
↓ 2 callers
Method
postTweet
(int userId, int tweetId)
src/main/java/L0355_DesignTwitter.java:69
↓ 2 callers
Method
printArray
(int[] arr)
src/main/java/L0169_MajorityElement.java:76
↓ 2 callers
Method
printBoard
(char[][] board)
src/main/java/L0037_SudokuSolver.java:104
↓ 2 callers
Method
printList
(ListNode head)
src/main/java/L0328_OddEvenLinkedList.java:86
↓ 2 callers
Method
productExceptSelf
(int[] nums)
src/main/java/L0238_ProductOfArrayExceptSelf.java:27
↓ 2 callers
Method
push
(int x)
src/main/java/L0225_ImplementStackUsingQueues.java:27
↓ 2 callers
Method
pushLeftPath
(TreeNode node)
src/main/java/L0173_BinarySearchTreeIterator.java:71
↓ 2 callers
Method
rand7
()
src/main/java/L0470_ImplementRand10UsingRand7.java:51
↓ 2 callers
Method
readBinaryWatch
枚举所有可能的时间,检查其二进制表示中 1 的个数
src/main/java/L0401_BinaryWatch.java:34
↓ 2 callers
Method
rebalance
()
src/main/java/L0480_SlidingWindowMedian.java:57
↓ 2 callers
Method
reconstructQueue
(int[][] people)
src/main/java/L0406_QueueReconstructionByHeight.java:29
↓ 2 callers
Method
recoverTree
(TreeNode root)
src/main/java/L0099_RecoverBinarySearchTree.java:69
↓ 2 callers
Method
removeDuplicates
(int[] nums)
src/main/java/L0080_RemoveDuplicatesFromSortedArrayII.java:8
↓ 2 callers
Method
removeNode
(Node node)
src/main/java/L0460_LFUCache.java:96
↓ 2 callers
Method
removeNode
(Node node)
src/main/java/L0146_LRUCache.java:112
↓ 2 callers
Method
reorderList
(ListNode head)
src/main/java/L0143_ReorderList.java:27
↓ 2 callers
Method
reverseBetween
(ListNode head, int left, int right)
src/main/java/L0092_ReverseLinkedListII.java:24
↓ 2 callers
Method
reverseBits
使用位运算实现二进制位的反转: 1. 从右到左遍历原数的每一位 2. 将每一位放到结果中对应的位置
src/main/java/L0190_ReverseBits.java:17
↓ 2 callers
Method
reverseList
反转链表
src/main/java/L0234_PalindromeLinkedList.java:80
↓ 2 callers
Method
reverseList
迭代方法反转链表 使用三个指针:prev、curr、next 每次迭代将 curr 的 next 指向 prev
src/main/java/L0206_ReverseLinkedList.java:31
↓ 2 callers
Method
reversePairs
归并排序解法 在归并排序的过程中统计翻转对
src/main/java/L0493_ReversePairs.java:25
↓ 2 callers
Method
reverseString
(char[] s)
src/main/java/L0344_ReverseString.java:22
↓ 2 callers
Method
rob
使用后序遍历解决打家劫舍 III 对于每个节点,返回一个长度为 2 的数组 dp[0] 表示不选择当前节点时能获得的最大金额 dp[1] 表示选择当前节点时能获得的最大金额
src/main/java/L0337_HouseRobberIII.java:36
↓ 2 callers
Method
robRange
计算在指定范围内能偷到的最大金额 @param nums 房屋金额数组 @param start 起始位置(包含) @param end 结束位置(包含) @return 最大金额
src/main/java/L0213_HouseRobberII.java:58
↓ 2 callers
Method
rotate
使用反转数组的方法 1. 首先反转整个数组 2. 然后反转前 k 个元素 3. 最后反转剩余的元素
src/main/java/L0189_RotateArray.java:34
↓ 2 callers
Method
rotate
(int[][] matrix)
src/main/java/L0048_RotateImage.java:24
↓ 2 callers
Method
rotateRight
(ListNode head, int k)
src/main/java/L0061_RotateList.java:26
↓ 2 callers
Method
searchMatrix
(int[][] matrix, int target)
src/main/java/L0074_SearchA2DMatrix.java:24
↓ 2 callers
Method
searchMatrix
从右上角开始搜索 如果当前元素大于目标值,说明这一列都大于目标值,可以排除这一列 如果当前元素小于目标值,说明这一行的前面元素都小于目标值,可以排除这一行
src/main/java/L0240_SearchA2DMatrixII.java:32
↓ 2 callers
Method
searchNode
查找字符串对应的节点
src/main/java/L0208_Trie.java:89
↓ 2 callers
Method
setZeroes
(int[][] matrix)
src/main/java/L0073_SetMatrixZeroes.java:27
↓ 2 callers
Method
shortestPalindrome
(String s)
src/main/java/L0214_ShortestPalindrome.java:20
↓ 2 callers
Method
shuffle
()
src/main/java/L0384_ShuffleArray.java:29
↓ 2 callers
Method
singleNumber
使用位运算的方法来解决问题: 1. 对于每个数字的每一位,统计所有数字在该位上出现的 1 的个数 2. 对于出现三次的数字,它们在每一位上的 1 的个数一定是 3 的倍数 3. 将每一位上的 1 的个数对 3 取余,结果就是只出现一次的数字在该位上的值
src/main/java/L0137_SingleNumberII.java:29
↓ 2 callers
Method
solve
(char[][] board)
src/main/java/L0130_SurroundedRegions.java:27
↓ 2 callers
Method
solveNQueens
(int n)
src/main/java/L0051_NQueens.java:38
↓ 2 callers
Method
spiralOrder
(int[][] matrix)
src/main/java/L0054_SpiralMatrix.java:26
↓ 2 callers
Method
subsets
(int[] nums)
src/main/java/L0078_Subsets.java:24
↓ 2 callers
Method
sumNumbers
(TreeNode root)
src/main/java/L0129_SumRootToLeafNumbers.java:58
↓ 2 callers
Method
sumOfLeftLeaves
(TreeNode root)
src/main/java/L0404_SumOfLeftLeaves.java:31
↓ 2 callers
Method
summaryRanges
(int[] nums)
src/main/java/L0228_SummaryRanges.java:39
↓ 2 callers
Method
swap
(int[] nums, int i, int j)
src/main/java/L0075_SortColors.java:51
↓ 2 callers
Method
swap
(int[] nums, int i, int j)
src/main/java/L0215_KthLargestElementInAnArray.java:66
↓ 2 callers
Method
swap
(int[] nums, int i, int j)
src/main/java/L0031_NextPermutation.java:36
↓ 2 callers
Method
top
()
src/main/java/L0155_MinStack.java:46
↓ 2 callers
Method
trap
(int[] height)
src/main/java/L0042_TrappingRainWater.java:17
↓ 2 callers
Method
trapRainWater
(int[][] heightMap)
src/main/java/L0407_TrappingRainWaterII.java:22
↓ 2 callers
Method
uniquePathsWithObstacles
(int[][] obstacleGrid)
src/main/java/L0063_UniquePathsII.java:37
↓ 2 callers
Method
update
(int index, int val)
src/main/java/L0307_RangeSumQueryMutable.java:115
↓ 2 callers
Method
updateNode
(Node node)
src/main/java/L0460_LFUCache.java:160
↓ 2 callers
Method
wiggleSort
(int[] nums)
src/main/java/L0324_WiggleSortII.java:28
↓ 1 callers
Method
addTwoNumbers
(ListNode l1, ListNode l2)
src/main/java/L0000_Template.java:12
↓ 1 callers
Method
addWord
将单词插入字典树(反向插入)
src/main/java/L0336_PalindromePairs.java:51
↓ 1 callers
Method
addWord
(String word)
src/main/java/L0472_ConcatenatedWords.java:67
↓ 1 callers
Method
backtrack
(int row, int n)
src/main/java/L0051_NQueens.java:58
↓ 1 callers
Method
backtrack
回溯方法 @param result 存储所有子集的结果列表 @param current 当前正在构建的子集 @param nums 输入数组 @param start 当前可选的起始位置
src/main/java/L0078_Subsets.java:38
↓ 1 callers
Method
backtrack
(List<Character> halfChars, boolean[] used, StringBuilder current, char oddChar, Set<String> resu
src/main/java/L0267_PalindromePermutationII.java:57
↓ 1 callers
Method
backtrack
(String s, int start, int segments, StringBuilder current, List<String> result)
src/main/java/L0093_RestoreIPAddresses.java:42
↓ 1 callers
Method
backtrack
(char[][] board, String word, int index, int row, int col, boolean[][] visited)
src/main/java/L0079_WordSearch.java:53
↓ 1 callers
Method
backtrack
(int[] matchsticks, int[] sides, int index, int target)
src/main/java/L0473_MatchsticksToSquare.java:60
↓ 1 callers
Method
backtrack
回溯方法 @param result 存储所有组合的结果列表 @param current 当前正在构建的组合 @param start 当前可选的起始数字 @param n 最大的数字 @param k 还需要选择的数字个数
src/main/java/L0077_Combinations.java:38
↓ 1 callers
Method
backtrack
(List<List<Integer>> result, List<Integer> tempList, int[] nums, boolean[] used)
src/main/java/L0047_PermuteUnique.java:34
↓ 1 callers
Method
backtrack
(int[] nums, int start, List<Integer> current, List<List<Integer>> result)
src/main/java/L0090_SubsetsII.java:34
↓ 1 callers
Method
backtrack
(List<List<Integer>> result, List<Integer> tempList, int[] nums)
src/main/java/L0046_Permutations.java:34
↓ 1 callers
Method
backtrack
回溯方法 @param result 存储所有符合条件的组合 @param current 当前正在构建的组合 @param candidates 候选数组 @param remain 剩余需要凑成的目标值 @param start 当前可以选择的起始位置
src/main/java/L0039_CombinationSum.java:49
↓ 1 callers
Method
backtrack
(String s)
src/main/java/L0140_WordBreakII.java:42
← previous
next →
401–500 of 1,125, ranked by callers