MCPcopy Create free account

hub / github.com/LjyYano/LeetCode / functions

Functions1,125 in github.com/LjyYano/LeetCode

↓ 3 callersMethodinsert
(int val)
src/main/java/L0380_RandomizedSet.java:27
↓ 3 callersMethodinsert
(int val)
src/main/java/L0381_RandomizedCollectionWithDuplicates.java:29
↓ 3 callersMethodinsertAfter
(Node node, Node newNode)
src/main/java/L0432_AllOne.java:134
↓ 3 callersMethodisBalanced
(TreeNode root)
src/main/java/L0110_BalancedBinaryTree.java:45
↓ 3 callersMethodisInterleave
(String s1, String s2, String s3)
src/main/java/L0097_InterleavingString.java:33
↓ 3 callersMethodisIsomorphic
(String s, String t)
src/main/java/L0205_IsomorphicStrings.java:30
↓ 3 callersMethodisMatch
(String s, String p)
src/main/java/L0044_WildcardMatching.java:26
↓ 3 callersMethodisPalindrome
(String s)
src/main/java/L0125_ValidPalindrome.java:32
↓ 3 callersMethodisRectangleCover
(int[][] rectangles)
src/main/java/L0391_PerfectRectangle.java:31
↓ 3 callersMethodisSameTree
判断两棵二叉树是否相同 使用递归的方式,同时遍历两棵树的对应节点进行比较
src/main/java/L0100_SameTree.java:72
↓ 3 callersMethodisScramble
(String s1, String s2)
src/main/java/L0087_ScrambleString.java:39
↓ 3 callersMethodisSelfCrossing
判断路径是否相交 时间复杂度:O(n),其中 n 是数组的长度 空间复杂度:O(1),只使用了常数额外空间
src/main/java/L0335_SelfCrossing.java:37
↓ 3 callersMethodisSubsequence
(String s, String t)
src/main/java/L0392_IsSubsequence.java:28
↓ 3 callersMethodisSymmetric
(TreeNode root)
src/main/java/L0101_SymmetricTree.java:61
↓ 3 callersMethodisValidBST
(TreeNode root)
src/main/java/L0098_ValidateBinarySearchTree.java:46
↓ 3 callersMethodisValidSerialization
使用槽位思想验证前序序列化 时间复杂度:O(n),其中 n 是字符串的长度 空间复杂度:O(1)
src/main/java/L0331_VerifyPreorderSerializationOfABinaryTree.java:35
↓ 3 callersMethodislandPerimeter
(int[][] grid)
src/main/java/L0463_IslandPerimeter.java:31
↓ 3 callersMethodkSmallestPairs
(int[] nums1, int[] nums2, int k)
src/main/java/L0373_FindKPairsWithSmallestSums.java:37
↓ 3 callersMethodkthSmallest
(int[][] matrix, int k)
src/main/java/L0378_KthSmallestElementInSortedMatrix.java:28
↓ 3 callersMethodlargestNumber
(int[] nums)
src/main/java/L0179_LargestNumber.java:22
↓ 3 callersMethodlastRemaining
(int n)
src/main/java/L0390_EliminationGame.java:29
↓ 3 callersMethodleftToRight
(int n)
src/main/java/L0390_EliminationGame.java:36
↓ 3 callersMethodlengthLongestPath
(String input)
src/main/java/L0388_LongestAbsoluteFilePath.java:22
↓ 3 callersMethodlengthOfLIS
动态规划解法 dp[i] 表示以 nums[i] 结尾的最长递增子序列的长度
src/main/java/L0300_LongestIncreasingSubsequence.java:34
↓ 3 callersMethodlengthOfLastWord
(String s)
src/main/java/L0058_LengthOfLastWord.java:29
↓ 3 callersMethodletterCombinations
(String digits)
src/main/java/L0017_LetterCombinationsOfAPhoneNumber.java:23
↓ 3 callersMethodlevelOrder
(TreeNode root)
src/main/java/L0102_BinaryTreeLevelOrderTraversal.java:66
↓ 3 callersMethodlevelOrderBottom
(TreeNode root)
src/main/java/L0107_BinaryTreeLevelOrderTraversalII.java:66
↓ 3 callersMethodlexicalOrder
(int n)
src/main/java/L0386_LexicographicalNumbers.java:12
↓ 3 callersMethodlongestPalindrome
(String s)
src/main/java/L0409_LongestPalindrome.java:22
↓ 3 callersMethodlongestValidParentheses
(String s)
src/main/java/L0032_LongestValidParentheses.java:10
↓ 3 callersMethodmajorityElement
使用摩尔投票算法的扩展版本 由于要找出现次数超过 n/3 的元素,最多只可能有两个这样的元素
src/main/java/L0229_MajorityElementII.java:33
↓ 3 callersMethodmaxArea
(int[] height)
src/main/java/L0011_ContainerWithMostWater.java:11
↓ 3 callersMethodmaxDepth
(TreeNode root)
src/main/java/L0104_MaximumDepthOfBinaryTree.java:67
↓ 3 callersMethodmaxEnvelopes
(int[][] envelopes)
src/main/java/L0354_RussianDollEnvelopes.java:30
↓ 3 callersMethodmaxNumber
(int[] nums1, int[] nums2, int k)
src/main/java/L0321_CreateMaximumNumber.java:37
↓ 3 callersMethodmaxProduct
(int[] nums)
src/main/java/L0152_MaximumProductSubarray.java:27
↓ 3 callersMethodmaxProfit
使用动态规划解决问题 状态定义: dp[i][k][0] 表示第 i 天,最多进行 k 次交易,手上没有股票的最大利润 dp[i][k][1] 表示第 i 天,最多进行 k 次交易,手上持有股票的最大利润 状态转移方程: dp[i][k][0] = max(dp[i-1][k][0], dp[i
src/main/java/L0123_BestTimeToBuyAndSellStockIII.java:52
↓ 3 callersMethodmaxProfit
(int[] prices)
src/main/java/L0121_BestTimeToBuyAndSellStock.java:25
↓ 3 callersMethodmaxProfit
(int[] prices)
src/main/java/L0122_BestTimeToBuyAndSellStockII.java:32
↓ 3 callersMethodmaxRotateFunction
(int[] nums)
src/main/java/L0396_RotateFunction.java:31
↓ 3 callersMethodmaxSubArray
(int[] nums)
src/main/java/L0053_MaximumSubarray.java:26
↓ 3 callersMethodmaximalSquare
(char[][] matrix)
src/main/java/L0221_MaximalSquare.java:28
↓ 3 callersMethodmaximumGap
(int[] nums)
src/main/java/L0164_MaximumGap.java:24
↓ 3 callersMethodmerge
(int[][] intervals)
src/main/java/L0056_MergeIntervals.java:29
↓ 3 callersMethodmerge
(int[] nums1, int m, int[] nums2, int n)
src/main/java/L0088_MergeSortedArray.java:37
↓ 3 callersMethodmergeKLists
(ListNode[] lists)
src/main/java/L0023_MergeKSortedLists.java:12
↓ 3 callersMethodminCut
(String s)
src/main/java/L0132_PalindromePartitioningII.java:27
↓ 3 callersMethodminDepth
(TreeNode root)
src/main/java/L0111_MinimumDepthOfBinaryTree.java:25
↓ 3 callersMethodminDistance
(String word1, String word2)
src/main/java/L0072_EditDistance.java:35
↓ 3 callersMethodminMoves
(int[] nums)
src/main/java/L0453_MinimumMovesToEqualArrayElements.java:24
↓ 3 callersMethodminPatches
贪心算法 时间复杂度:O(m + logn),其中 m 是数组 nums 的长度 空间复杂度:O(1)
src/main/java/L0330_PatchingArray.java:40
↓ 3 callersMethodminSubArrayLen
使用滑动窗口解法 维护一个窗口,不断调整左右边界,找到满足条件的最小长度
src/main/java/L0209_MinimumSizeSubarraySum.java:32
↓ 3 callersMethodminWindow
(String s, String t)
src/main/java/L0076_MinimumWindowSubstring.java:34
↓ 3 callersMethodminimumTotal
(List<List<Integer>> triangle)
src/main/java/L0120_Triangle.java:36
↓ 3 callersMethodmyPow
(double x, int n)
src/main/java/L0050_PowxN.java:28
↓ 3 callersMethodnextPermutation
(int[] nums)
src/main/java/L0031_NextPermutation.java:14
↓ 3 callersMethodnumDecodings
(String s)
src/main/java/L0091_DecodeWays.java:40
↓ 3 callersMethodnumDistinct
使用动态规划解决不同子序列问题 dp[i][j] 表示 s[0..i-1] 的子序列中 t[0..j-1] 出现的次数
src/main/java/L0115_DistinctSubsequences.java:36
↓ 3 callersMethodnumberOfArithmeticSlices
(int[] nums)
src/main/java/L0413_ArithmeticSlices.java:22
↓ 3 callersMethodnumberOfBoomerangs
(int[][] points)
src/main/java/L0447_NumberOfBoomerangs.java:31
↓ 3 callersMethodoriginalDigits
(String s)
src/main/java/L0423_ReconstructOriginalDigitsFromEnglish.java:16
↓ 3 callersMethodpalindromePairs
查找所有回文对 时间复杂度:O(n k²),其中 n 是单词的数量,k 是单词的平均长度 空间复杂度:O(n k),用于存储字典树
src/main/java/L0336_PalindromePairs.java:106
↓ 3 callersMethodpathSum
(TreeNode root, int targetSum)
src/main/java/L0113_PathSumII.java:33
↓ 3 callersMethodpermute
(int[] nums)
src/main/java/L0046_Permutations.java:28
↓ 3 callersMethodplusOne
(int[] digits)
src/main/java/L0066_PlusOne.java:32
↓ 3 callersMethodpoorPigs
(int buckets, int minutesToDie, int minutesToTest)
src/main/java/L0458_PoorPigs.java:28
↓ 3 callersMethodpostorderTraversal
递归解法
src/main/java/L0145_BinaryTreePostorderTraversal.java:50
↓ 3 callersMethodpostorderTraversalIterative
迭代解法
src/main/java/L0145_BinaryTreePostorderTraversal.java:69
↓ 3 callersMethodpreorderTraversal
递归解法
src/main/java/L0144_BinaryTreePreorderTraversal.java:50
↓ 3 callersMethodpreorderTraversalIterative
迭代解法
src/main/java/L0144_BinaryTreePreorderTraversal.java:69
↓ 3 callersMethodprintArray
(int[] nums)
src/main/java/L0031_NextPermutation.java:75
↓ 3 callersMethodprintArray
(int[] arr)
src/main/java/L0347_TopKFrequentElements.java:81
↓ 3 callersMethodprintBinary
(List<Integer> nums, int n)
src/main/java/L0089_GrayCode.java:94
↓ 3 callersMethodprintLevelOrder
(Node root)
src/main/java/L0117_PopulatingNextRightPointersInEachNodeII.java:132
↓ 3 callersMethodprintLevelOrder
(Node root)
src/main/java/L0116_PopulatingNextRightPointersInEachNode.java:115
↓ 3 callersMethodprintList
打印链表
src/main/java/L0002_AddTwoNumbers.java:94
↓ 3 callersMethodprintList
(ListNode head)
src/main/java/L0023_MergeKSortedLists.java:77
↓ 3 callersMethodprintList
(ListNode head)
src/main/java/L0445_AddTwoNumbersII.java:120
↓ 3 callersMethodprintMatrix
(int[][] matrix)
src/main/java/L0059_SpiralMatrixII.java:89
↓ 3 callersMethodprintNestedInteger
(NestedInteger ni, int depth)
src/main/java/L0385_MiniParser.java:121
↓ 3 callersMethodrand10
()
src/main/java/L0470_ImplementRand10UsingRand7.java:35
↓ 3 callersMethodrangeBitwiseAnd
位移解法 关键观察:区间 [left, right] 的按位与结果等于 left 和 right 的公共前缀 因为在区间内,较低位的数字会在某个时刻从 0 变为 1,再从 1 变为 0 只有公共前缀部分在整个区间内保持不变
src/main/java/L0201_BitwiseANDOfNumbersRange.java:31
↓ 3 callersMethodremoveInvalidParentheses
(String s)
src/main/java/L0301_RemoveInvalidParentheses.java:28
↓ 3 callersMethodremoveKdigits
(String num, int k)
src/main/java/L0402_RemoveKDigits.java:29
↓ 3 callersMethodremoveNode
(Node node)
src/main/java/L0432_AllOne.java:142
↓ 3 callersMethodremoveNthFromEnd
(ListNode head, int n)
src/main/java/L0019_RemoveNthNodeFromEndOfList.java:10
↓ 3 callersMethodrepeatedSubstringPattern
(String s)
src/main/java/L0459_RepeatedSubstringPattern.java:26
↓ 3 callersMethodrestoreIpAddresses
(String s)
src/main/java/L0093_RestoreIPAddresses.java:30
↓ 3 callersMethodreverse
反转数组中指定范围的元素
src/main/java/L0189_RotateArray.java:48
↓ 3 callersMethodreverseWords
(String s)
src/main/java/L0151_ReverseWordsInAString.java:33
↓ 3 callersMethodrob
(int[] nums)
src/main/java/L0213_HouseRobberII.java:30
↓ 3 callersMethodsearch
(int[] nums, int target)
src/main/java/L0081_SearchInRotatedSortedArrayII.java:31
↓ 3 callersMethodsearch
(int[] nums, int target)
src/main/java/L0033_SearchInRotatedSortedArray.java:14
↓ 3 callersMethodsearchRange
(int[] nums, int target)
src/main/java/L0034_FindFirstAndLastPositionOfElementInSortedArray.java:30
↓ 3 callersMethodserialize
序列化二叉树 使用前序遍历的方式,将二叉树序列化为字符串 空节点使用 "null" 表示
src/main/java/L0297_SerializeAndDeserializeBinaryTree.java:79
↓ 3 callersMethodsingleNumber
使用异或运算的特性来解决问题: 1. a ⊕ a = 0(任何数和自己异或等于 0) 2. a ⊕ 0 = a(任何数和 0 异或等于它自己) 3. 异或运算满足交换律和结合律 因此,对数组中所有元素进行异或运算,最终结果就是只出现一次的数字
src/main/java/L0136_SingleNumber.java:35
↓ 3 callersMethodsingleNumber
使用位运算的方法来解决问题: 1. 先对所有数字进行异或,得到两个只出现一次的数字的异或结果 2. 找到异或结果中任意一个为 1 的位,这个位可以用来区分两个数字 3. 根据这个位是否为 1,将数组分成两组,分别异或得到两个数字
src/main/java/L0260_SingleNumberIII.java:35
↓ 3 callersMethodsortColors
(int[] nums)
src/main/java/L0075_SortColors.java:27
↓ 3 callersMethodsortedArrayToBST
(int[] nums)
src/main/java/L0108_ConvertSortedArrayToBinarySearchTree.java:69
← previousnext →201–300 of 1,125, ranked by callers