MCPcopy Create free account

hub / github.com/LjyYano/LeetCode / types & classes

Types & classes459 in github.com/LjyYano/LeetCode

ClassCell
src/main/java/L0407_TrappingRainWaterII.java:73
ClassDoublyLinkedList
src/main/java/L0460_LFUCache.java:73
ClassL0000_Template
题目链接:https://leetcode.cn/problems/add-two-numbers/ 给你两个 非空 的链表,表示两个非负的整数。它们每位数字都是按照 逆序 的方式存储的,并且每个节点只能存储 一位 数字。 请你将两个数相加,并以相同形式返回一个表示和的链表。 你可以假设除了数字
src/main/java/L0000_Template.java:10
ClassL0001_TwoSum
题目链接:https://leetcode.cn/problems/two-sum/ 给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出和为目标值 target 的那两个整数,并返回它们的数组下标。 你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能
src/main/java/L0001_TwoSum.java:11
ClassL0002_AddTwoNumbers
题目链接:https://leetcode.cn/problems/add-two-numbers/ 给你两个 非空 的链表,表示两个非负的整数。它们每位数字都是按照 逆序 的方式存储的,并且每个节点只能存储 一位 数字。 请你将两个数相加,并以相同形式返回一个表示和的链表。 你可以假设除了数字
src/main/java/L0002_AddTwoNumbers.java:10
ClassL0003_LongestSubstringWithoutRepeatingCharacters
题目链接:https://leetcode.cn/problems/longest-substring-without-repeating-characters/ 给定一个字符串 s,请你找出其中不含有重复字符的 最长子串 的长度。
src/main/java/L0003_LongestSubstringWithoutRepeatingCharacters.java:9
ClassL0004_MedianOfTwoSortedArrays
题目链接:https://leetcode.cn/problems/median-of-two-sorted-arrays/ 给定两个大小分别为 m 和 n 的正序(从小到大)数组 nums1 和 nums2。 请你找出并返回这两个正序数组的 中位数 。 算法的时间复杂度应该为 O(log (m+
src/main/java/L0004_MedianOfTwoSortedArrays.java:8
ClassL0005_LongestPalindromicSubstring
题目链接:https://leetcode.cn/problems/longest-palindromic-substring/ 给你一个字符串 s,找到 s 中最长的回文子串。 如果字符串的反序与原始字符串相同,则该字符串称为回文字符串。
src/main/java/L0005_LongestPalindromicSubstring.java:7
ClassL0006_ZigzagConversion
题目链接:https://leetcode.cn/problems/zigzag-conversion/ 将一个给定字符串 s 根据给定的行数 numRows ,以从上往下、从左到右进行 Z 字形排列。 比如输入字符串为 "PAYPALISHIRING" 行数为 3 时,排列如下: P A
src/main/java/L0006_ZigzagConversion.java:11
ClassL0007_ReverseInteger
题目链接:https://leetcode.cn/problems/reverse-integer/ 给你一个 32 位的有符号整数 x ,返回将 x 中的数字部分反转后的结果。 如果反转后整数超过 32 位的有符号整数的范围 [−2^31, 2^31 − 1] ,就返回 0。 假设环境不允许存储
src/main/java/L0007_ReverseInteger.java:8
ClassL0008_StringToInteger
题目链接:https://leetcode.cn/problems/string-to-integer-atoi/ 请你来实现一个 myAtoi(string s) 函数,使其能将字符串转换成一个 32 位有符号整数。 函数 myAtoi(string s) 的算法如下: 1. 读入字符串并丢弃
src/main/java/L0008_StringToInteger.java:14
ClassL0009_PalindromeNumber
题目链接:https://leetcode.cn/problems/palindrome-number/ 给你一个整数 x ,如果 x 是一个回文整数,返回 true ;否则,返回 false 。 回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。 例如,121 是回文,而 123 不
src/main/java/L0009_PalindromeNumber.java:8
ClassL0010_RegularExpressionMatching
题目链接:https://leetcode.cn/problems/regular-expression-matching/ 给你一个字符串 s 和一个字符规律 p,请你来实现一个支持 '.' 和 ' ' 的正则表达式匹配。 '.' 匹配任意单个字符 ' ' 匹配零个或多个前面的那一个元素 所谓匹
src/main/java/L0010_RegularExpressionMatching.java:9
ClassL0011_ContainerWithMostWater
题目链接:https://leetcode.cn/problems/container-with-most-water/ 给定一个长度为 n 的整数数组 height。有 n 条垂线,第 i 条线的两个端点是 (i, 0) 和 (i, height[i])。 找出其中的两条线,使得它们与 x 轴共
src/main/java/L0011_ContainerWithMostWater.java:9
ClassL0012_IntegerToRoman
src/main/java/L0012_IntegerToRoman.java:1
ClassL0013_RomanToInteger
罗马数字转整数 https://leetcode.cn/problems/roman-to-integer/ 罗马数字包含以下七种字符: I, V, X, L,C,D 和 M。 字符 数值 I 1 V 5 X
src/main/java/L0013_RomanToInteger.java:27
ClassL0014_LongestCommonPrefix
题目链接:https://leetcode.cn/problems/longest-common-prefix/ 编写一个函数来查找字符串数组中的最长公共前缀。 如果不存在公共前缀,返回空字符串 ""。 示例 1: 输入:strs = ["flower","flow","flight"] 输出:
src/main/java/L0014_LongestCommonPrefix.java:16
ClassL0015_ThreeSum
题目链接:https://leetcode.cn/problems/3sum/ 给你一个整数数组 nums ,判断是否存在三元组 [nums[i], nums[j], nums[k]] 满足 i != j、i != k 且 j != k , 同时还满足 nums[i] + nums[j] + nu
src/main/java/L0015_ThreeSum.java:33
ClassL0016_ThreeSumClosest
题目链接:https://leetcode.cn/problems/3sum-closest/ 给你一个长度为 n 的整数数组 nums 和一个目标值 target。请你从 nums 中选出三个整数,使它们的和与 target 最接近。 返回这三个数的和。 假定每组输入只存在恰好一个解。 示例
src/main/java/L0016_ThreeSumClosest.java:19
ClassL0017_LetterCombinationsOfAPhoneNumber
题目链接:https://leetcode.cn/problems/letter-combinations-of-a-phone-number/ 给定一个仅包含数字 2-9 的字符串,返回所有它能表示的字母组合。答案可以按 任意顺序 返回。 给出数字到字母的映射如下(与电话按键相同)。注意 1 不
src/main/java/L0017_LetterCombinationsOfAPhoneNumber.java:18
ClassL0018_FourSum
题目链接:https://leetcode.cn/problems/4sum/ 给你一个由 n 个整数组成的数组 nums,和一个目标值 target。请你找出并返回满足下述全部条件且不重复的四元组 [nums[a], nums[b], nums[c], nums[d]](若两个四元组元素一一对应
src/main/java/L0018_FourSum.java:16
ClassL0019_RemoveNthNodeFromEndOfList
题目链接:https://leetcode.cn/problems/remove-nth-node-from-end-of-list/ 给你一个链表,删除链表的倒数第 n 个结点,并且返回链表的头结点。
src/main/java/L0019_RemoveNthNodeFromEndOfList.java:8
ClassL0020_ValidParentheses
题目链接:https://leetcode.cn/problems/valid-parentheses/ 给定一个只包括 '(',')','{','}','[',']' 的字符串 s ,判断字符串是否有效。 有效字符串需满足: 1. 左括号必须用相同类型的右括号闭合。 2. 左括号必须以正确的顺
src/main/java/L0020_ValidParentheses.java:13
ClassL0021_MergeTwoSortedLists
题目链接:https://leetcode.cn/problems/merge-two-sorted-lists/ 将两个升序链表合并为一个新的 升序 链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。
src/main/java/L0021_MergeTwoSortedLists.java:8
ClassL0022_GenerateParentheses
题目链接:https://leetcode.cn/problems/generate-parentheses/ 数字 n 代表生成括号的对数,请你设计一个函数,用于能够生成所有可能的并且 有效的 括号组合。
src/main/java/L0022_GenerateParentheses.java:9
ClassL0023_MergeKSortedLists
题目链接:https://leetcode.cn/problems/merge-k-sorted-lists/ 给你一个链表数组,每个链表都已经按升序排列。 请你将所有链表合并到一个升序链表中,返回合并后的链表。
src/main/java/L0023_MergeKSortedLists.java:10
ClassL0024_SwapNodesInPairs
题目链接:https://leetcode.cn/problems/swap-nodes-in-pairs/ 给你一个链表,两两交换其中相邻的节点,并返回交换后链表的头节点。你必须在不修改节点内部的值的情况下完成本题(即,只能进行节点交换)。
src/main/java/L0024_SwapNodesInPairs.java:8
ClassL0025_ReverseNodesInKGroup
题目链接:https://leetcode.cn/problems/reverse-nodes-in-k-group/ 给你链表的头节点 head ,每 k 个节点一组进行翻转,请你返回修改后的链表。 k 是一个正整数,它的值小于或等于链表的长度。如果节点总数不是 k 的整数倍,那么请将最后剩余的
src/main/java/L0025_ReverseNodesInKGroup.java:10
ClassL0026_RemoveDuplicatesFromSortedArray
题目链接:https://leetcode.cn/problems/remove-duplicates-from-sorted-array/ 给你一个 非严格递增排列 的数组 nums ,请你 原地 删除重复出现的元素,使每个元素 只出现一次 ,返回删除后数组的新长度。 元素的 相对顺序 应该保持
src/main/java/L0026_RemoveDuplicatesFromSortedArray.java:11
ClassL0027_RemoveElement
题目链接:https://leetcode.cn/problems/remove-element/ 给你一个数组 nums 和一个值 val,你需要 原地 移除所有数值等于 val 的元素,并返回移除后数组的新长度。 不要使用额外的数组空间,你必须仅使用 O(1) 额外空间并 原地 修改输入数组。
src/main/java/L0027_RemoveElement.java:8
ClassL0028_FindTheIndexOfTheFirstOccurrenceInAString
https://leetcode.cn/problems/find-the-index-of-the-first-occurrence-in-a-string/ 给你两个字符串 haystack 和 needle ,请你在 haystack 字符串中找出 needle 字符串的第一个匹配项的下标(
src/main/java/L0028_FindTheIndexOfTheFirstOccurrenceInAString.java:18
ClassL0029_DivideTwoIntegers
https://leetcode.cn/problems/divide-two-integers/ 给你两个整数,被除数 dividend 和除数 divisor。将两数相除,要求 不使用 乘法、除法和取余运算。 整数除法应该向零截断,也就是截去(truncate)其小数部分。例如,8.345 将
src/main/java/L0029_DivideTwoIntegers.java:11
ClassL0030_SubstringWithConcatenationOfAllWords
https://leetcode.cn/problems/substring-with-concatenation-of-all-words/ 给定一个字符串 s 和一个字符串数组 words。words 中所有字符串 长度相同。 s 中的 串联子串 是指一个包含 words 中所有字符串以任意顺
src/main/java/L0030_SubstringWithConcatenationOfAllWords.java:12
ClassL0031_NextPermutation
https://leetcode.cn/problems/next-permutation/ 整数数组的一个 排列 就是将其所有成员以序列或线性顺序排列。 例如,arr = [1,2,3] ,以下这些都可以视作 arr 的排列:[1,2,3]、[1,3,2]、[3,1,2]、[2,3,1] 。 整
src/main/java/L0031_NextPermutation.java:13
ClassL0032_LongestValidParentheses
https://leetcode.cn/problems/longest-valid-parentheses/ 给你一个只包含 '(' 和 ')' 的字符串,找出最长有效(格式正确且连续)括号子串的长度。
src/main/java/L0032_LongestValidParentheses.java:8
ClassL0033_SearchInRotatedSortedArray
https://leetcode.cn/problems/search-in-rotated-sorted-array/ 整数数组 nums 按升序排列,数组中的值 互不相同 。 在传递给函数之前,nums 在预先未知的某个下标 k(0 <= k < nums.length)上进行了 旋转,使数
src/main/java/L0033_SearchInRotatedSortedArray.java:12
ClassL0034_FindFirstAndLastPositionOfElementInSortedArray
https://leetcode.cn/problems/find-first-and-last-position-of-element-in-sorted-array/ 给你一个按照非递减顺序排列的整数数组 nums,和一个目标值 target。请你找出给定目标值在数组中的开始位置和结束位置。
src/main/java/L0034_FindFirstAndLastPositionOfElementInSortedArray.java:28
ClassL0035_SearchInsertPosition
https://leetcode.cn/problems/search-insert-position/ 35. 搜索插入位置 给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。 请必须使用时间复杂度为 O(log n) 的算法。
src/main/java/L0035_SearchInsertPosition.java:25
ClassL0036_ValidSudoku
src/main/java/L0036_ValidSudoku.java:48
ClassL0037_SudokuSolver
https://leetcode.cn/problems/sudoku-solver/ 编写一个程序,通过填充空格来解决数独问题。 数独的解法需遵循如下规则: 1. 数字 1-9 在每一行只能出现一次。 2. 数字 1-9 在每一列只能出现一次。 3. 数字 1-9 在每一个以粗实线分隔的 3x
src/main/java/L0037_SudokuSolver.java:13
ClassL0038_CountAndSay
题目链接:https://leetcode.cn/problems/count-and-say/ 给定一个正整数 n,输出外观数列的第 n 项。 「外观数列」是一个整数序列,从数字 1 开始,序列中的每一项都是对前一项的描述。 你可以将其视作是由递归公式定义的数字字符串序列: countAndS
src/main/java/L0038_CountAndSay.java:23
ClassL0039_CombinationSum
题目链接:https://leetcode.cn/problems/combination-sum/ 给你一个 无重复元素 的整数数组 candidates 和一个目标整数 target,找出 candidates 中可以使数字和为目标数 target 的所有不同组合,并以列表形式返回。 你可以按
src/main/java/L0039_CombinationSum.java:30
ClassL0040_CombinationSumII
题目链接:https://leetcode.cn/problems/combination-sum-ii/ 给定一个候选人编号的集合 candidates 和一个目标数 target,找出 candidates 中所有可以使数字和为 target 的组合。 candidates 中的每个数字在每个
src/main/java/L0040_CombinationSumII.java:30
ClassL0041_FirstMissingPositive
题目链接:https://leetcode.cn/problems/first-missing-positive/ 给你一个未排序的整数数组 nums,请你找出其中没有出现的最小的正整数。 请你实现时间复杂度为 O(n) 并且只使用常数级别额外空间的解决方案。 示例 1: 输入:nums = [
src/main/java/L0041_FirstMissingPositive.java:22
ClassL0042_TrappingRainWater
题目链接:https://leetcode.cn/problems/trapping-rain-water/ 给定 n 个非负整数表示每个宽度为 1 的柱子的高度图,计算按此排列的柱子,下雨之后能接多少雨水。 示例 1: 输入:height = [0,1,0,2,1,0,1,3,2,1,2,1]
src/main/java/L0042_TrappingRainWater.java:15
ClassL0043_MultiplyStrings
题目链接:https://leetcode.cn/problems/multiply-strings/ 给定两个以字符串形式表示的非负整数 num1 和 num2,返回 num1 和 num2 的乘积,它们的乘积也表示为字符串形式。 注意:不能使用任何内置的 BigInteger 库或直接将输入转
src/main/java/L0043_MultiplyStrings.java:15
ClassL0044_WildcardMatching
题目链接:https://leetcode.cn/problems/wildcard-matching/ 给你一个输入字符串 (s) 和一个字符模式 (p) ,请你实现一个支持 '?' 和 ' ' 的通配符匹配: '?' 可以匹配任何单个字符 ' ' 可以匹配任意字符序列(包括空序列) 判断字符串
src/main/java/L0044_WildcardMatching.java:24
ClassL0045_JumpGameII
题目链接:https://leetcode.cn/problems/jump-game-ii/ 给定一个长度为 n 的 0 索引整数数组 nums。初始位置为 nums[0]。 每个元素 nums[i] 表示从索引 i 向前跳转的最大长度。换句话说,如果你在 nums[i] 处,你可以跳转到任意
src/main/java/L0045_JumpGameII.java:21
ClassL0046_Permutations
https://leetcode.cn/problems/permutations/ 给定一个不含重复数字的数组 nums ,返回其 所有可能的全排列 。你可以 按任意顺序 返回答案。 示例 1: 输入:nums = [1,2,3] 输出:[[1,2,3],[1,3,2],[2,1,3],[2,
src/main/java/L0046_Permutations.java:26
ClassL0047_PermuteUnique
https://leetcode.cn/problems/permutations-ii/ 给定一个可包含重复数字的序列 nums ,按任意顺序 返回所有不重复的全排列。 示例 1: 输入:nums = [1,1,2] 输出:[[1,1,2], [1,2,1], [2,1,1]] 示例 2:
src/main/java/L0047_PermuteUnique.java:22
ClassL0048_RotateImage
https://leetcode.cn/problems/rotate-image/ 给定一个 n × n 的二维矩阵 matrix 表示一个图像,请你将图像顺时针旋转 90 度。 你必须在 原地 旋转图像,这意味着你需要直接修改输入的二维矩阵。请不要 使用另一个矩阵来旋转图像。 示例 1: 输
src/main/java/L0048_RotateImage.java:22
ClassL0049_GroupAnagrams
https://leetcode.cn/problems/group-anagrams/ 给你一个字符串数组,请你将 字母异位词 组合在一起。可以按任意顺序返回结果列表。 字母异位词 是由重新排列源单词的所有字母得到的一个新单词。 示例 1: 输入: strs = ["eat","tea","t
src/main/java/L0049_GroupAnagrams.java:26
ClassL0050_PowxN
https://leetcode.cn/problems/powx-n/ 实现 pow(x, n) ,即计算 x 的整数 n 次幂函数(即,x^n )。 示例 1: 输入:x = 2.00000, n = 10 输出:1024.00000 示例 2: 输入:x = 2.10000, n = 3
src/main/java/L0050_PowxN.java:25
ClassL0051_NQueens
https://leetcode.cn/problems/n-queens/ 按照国际象棋的规则,皇后可以攻击与之处在同一行或同一列或同一斜线上的棋子。 n 皇后问题 研究的是如何将 n 个皇后放置在 n×n 的棋盘上,并且使皇后彼此之间不能相互攻击。 给你一个整数 n ,返回所有不同的 n 皇后
src/main/java/L0051_NQueens.java:25
ClassL0052_NQueensII
https://leetcode.cn/problems/n-queens-ii/ n 皇后问题 研究的是如何将 n 个皇后放置在 n × n 的棋盘上,并且使皇后彼此之间不能相互攻击。 给你一个整数 n ,返回 n 皇后问题 不同的解决方案的数量。 示例 1: 输入:n = 4 输出:2 解释
src/main/java/L0052_NQueensII.java:19
ClassL0053_MaximumSubarray
题目链接:https://leetcode.cn/problems/maximum-subarray/ 给你一个整数数组 nums ,请你找出一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。 子数组 是数组中的一个连续部分。 示例 1: 输入:nums = [-2,1,-3,
src/main/java/L0053_MaximumSubarray.java:24
ClassL0054_SpiralMatrix
src/main/java/L0054_SpiralMatrix.java:24
ClassL0055_JumpGame
https://leetcode.cn/problems/jump-game/ 给你一个非负整数数组 nums ,你最初位于数组的第一个下标 。数组中的每个元素代表你在该位置可以跳跃的最大长度。 判断你是否能够到达最后一个下标。 示例 1: 输入:nums = [2,3,1,1,4] 输出:tr
src/main/java/L0055_JumpGame.java:21
ClassL0056_MergeIntervals
src/main/java/L0056_MergeIntervals.java:27
ClassL0057_InsertInterval
src/main/java/L0057_InsertInterval.java:41
ClassL0058_LengthOfLastWord
https://leetcode.cn/problems/length-of-last-word/ 给你一个字符串 s,由若干单词组成,单词前后用一些空格字符隔开。返回字符串中最后一个单词的长度。 单词是指仅由字母组成、不包含任何空格字符的最大子字符串。 示例 1: 输入:s = "Hello
src/main/java/L0058_LengthOfLastWord.java:27
ClassL0059_SpiralMatrixII
https://leetcode.cn/problems/spiral-matrix-ii/ 给你一个正整数 n ,生成一个包含 1 到 n² 所有元素,且元素按顺时针顺序螺旋排列的 n x n 正方形矩阵 matrix 。 示例 1: 输入:n = 3 输出:[[1,2,3],[8,9,4],
src/main/java/L0059_SpiralMatrixII.java:17
ClassL0060_PermutationSequence
src/main/java/L0060_PermutationSequence.java:36
ClassL0061_RotateList
src/main/java/L0061_RotateList.java:24
ClassL0062_UniquePaths
src/main/java/L0062_UniquePaths.java:38
ClassL0063_UniquePathsII
src/main/java/L0063_UniquePathsII.java:35
ClassL0064_MinimumPathSum
src/main/java/L0064_MinimumPathSum.java:25
ClassL0065_ValidNumber
src/main/java/L0065_ValidNumber.java:41
ClassL0066_PlusOne
src/main/java/L0066_PlusOne.java:30
ClassL0067_AddBinary
https://leetcode.cn/problems/add-binary/ 给你两个二进制字符串 a 和 b ,以二进制字符串的形式返回它们的和。 示例 1: 输入:a = "11", b = "1" 输出:"100" 示例 2: 输入:a = "1010", b = "1011" 输出
src/main/java/L0067_AddBinary.java:19
ClassL0068_TextJustification
https://leetcode.cn/problems/text-justification/ 给定一个单词数组 words 和一个长度 maxWidth,重新排版单词,使其成为每行恰好有 maxWidth 个字符,且左右两端对齐的文本。 你应该使用 "贪心算法" 来放置给定的单词;也就是说,
src/main/java/L0068_TextJustification.java:53
ClassL0069_Sqrt
https://leetcode.cn/problems/sqrtx/ 给你一个非负整数 x ,计算并返回 x 的 算术平方根 。 由于返回类型是整数,结果只保留 整数部分 ,小数部分将被 舍去 。 注意:不允许使用任何内置指数函数和算符,例如 pow(x, 0.5) 或者 x 0.5 。
src/main/java/L0069_Sqrt.java:22
ClassL0070_ClimbingStairs
https://leetcode.cn/problems/climbing-stairs/ 假设你正在爬楼梯。需要 n 阶你才能到达楼顶。 每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢? 示例 1: 输入:n = 2 输出:2 解释:有两种方法可以爬到楼顶。 1. 1
src/main/java/L0070_ClimbingStairs.java:26
ClassL0071_SimplifyPath
https://leetcode.cn/problems/simplify-path/ 给你一个字符串 path ,表示指向某一文件或目录的 Unix 风格 绝对路径 (以 '/' 开头),请你将其转化为更加简洁的规范路径。 在 Unix 风格的文件系统中,一个点(.)表示当前目录本身;此外,两
src/main/java/L0071_SimplifyPath.java:41
ClassL0072_EditDistance
https://leetcode.cn/problems/edit-distance/ 给你两个单词 word1 和 word2, 请返回将 word1 转换成 word2 所使用的最少操作数。 你可以对一个单词进行如下三种操作: - 插入一个字符 - 删除一个字符 - 替换一个字符 示例 1
src/main/java/L0072_EditDistance.java:33
ClassL0073_SetMatrixZeroes
https://leetcode.cn/problems/set-matrix-zeroes/ 给定一个 m x n 的矩阵,如果一个元素为 0 ,则将其所在行和列的所有元素都设为 0 。请使用 原地 算法。 示例 1: 输入:matrix = [[1,1,1],[1,0,1],[1,1,1]]
src/main/java/L0073_SetMatrixZeroes.java:25
ClassL0074_SearchA2DMatrix
https://leetcode.cn/problems/search-a-2d-matrix/ 编写一个高效的算法来判断 m x n 矩阵中,是否存在一个目标值。该矩阵具有如下特性: - 每行中的整数从左到右按升序排列。 - 每行的第一个整数大于前一行的最后一个整数。 示例 1: 输入:mat
src/main/java/L0074_SearchA2DMatrix.java:22
ClassL0075_SortColors
https://leetcode.cn/problems/sort-colors/ 给定一个包含红色、白色和蓝色、共 n 个元素的数组 nums ,原地对它们进行排序,使得相同颜色的元素相邻,并按照红色、白色、蓝色顺序排列。 我们使用整数 0、1 和 2 分别表示红色、白色和蓝色。 必须在不使用库
src/main/java/L0075_SortColors.java:26
ClassL0076_MinimumWindowSubstring
https://leetcode.cn/problems/minimum-window-substring/ 给你一个字符串 s 、一个字符串 t 。返回 s 中涵盖 t 所有字符的最小子串。如果 s 中不存在涵盖 t 所有字符的子串,则返回空字符串 "" 。 注意: - 对于 t 中重复字符,
src/main/java/L0076_MinimumWindowSubstring.java:33
ClassL0077_Combinations
https://leetcode.cn/problems/combinations/ 给定两个整数 n 和 k,返回范围 [1, n] 中所有可能的 k 个数的组合。 你可以按 任何顺序 返回答案。 示例 1: 输入:n = 4, k = 2 输出:[[1,2],[1,3],[1,4],[2,3
src/main/java/L0077_Combinations.java:22
ClassL0078_Subsets
https://leetcode.cn/problems/subsets/ 给你一个整数数组 nums ,数组中的元素 互不相同 。返回该数组所有可能的子集(幂集)。 解集 不能 包含重复的子集。你可以按 任意顺序 返回解集。 示例 1: 输入:nums = [1,2,3] 输出:[[],[1]
src/main/java/L0078_Subsets.java:23
ClassL0079_WordSearch
https://leetcode.cn/problems/word-search/ 79. 单词搜索 给定一个 m x n 二维字符网格 board 和一个字符串单词 word 。如果 word 存在于网格中,返回 true ;否则,返回 false 。 单词必须按照字母顺序,通过相邻的单元格内
src/main/java/L0079_WordSearch.java:28
ClassL0080_RemoveDuplicatesFromSortedArrayII
src/main/java/L0080_RemoveDuplicatesFromSortedArrayII.java:6
ClassL0081_SearchInRotatedSortedArrayII
https://leetcode.cn/problems/search-in-rotated-sorted-array-ii/ 已知存在一个按非降序排列的整数数组 nums ,数组中的值不必互不相同。 在传递给函数之前,nums 在预先未知的某个下标 k(0 <= k < nums.length
src/main/java/L0081_SearchInRotatedSortedArrayII.java:30
ClassL0082_RemoveDuplicatesFromSortedListII
https://leetcode.cn/problems/remove-duplicates-from-sorted-list-ii/ 给定一个已排序的链表的头 head ,删除原始链表中所有重复数字的节点,只留下不同的数字。返回已排序的链表。 示例 1: 输入:head = [1,2,3,3,
src/main/java/L0082_RemoveDuplicatesFromSortedListII.java:19
ClassL0083_RemoveDuplicatesFromSortedList
https://leetcode.cn/problems/remove-duplicates-from-sorted-list/ 给定一个已排序的链表的头 head ,删除所有重复的元素,使每个元素只出现一次。返回已排序的链表。 示例 1: 输入:head = [1,1,2] 输出:[1,2]
src/main/java/L0083_RemoveDuplicatesFromSortedList.java:19
ClassL0084_LargestRectangleInHistogram
https://leetcode.cn/problems/largest-rectangle-in-histogram/ 给定 n 个非负整数,用来表示柱状图中各个柱子的高度。每个柱子彼此相邻,且宽度为 1 。 求在该柱状图中,能够勾勒出来的矩形的最大面积。 示例 1: ![img](https
src/main/java/L0084_LargestRectangleInHistogram.java:21
ClassL0085_MaximalRectangle
https://leetcode.cn/problems/maximal-rectangle/ 给定一个仅包含 0 和 1 、大小为 rows x cols 的二维二进制矩阵,找出只包含 1 的最大矩形,并返回其面积。 示例 1: ![img](https://assets.leetcode.c
src/main/java/L0085_MaximalRectangle.java:34
ClassL0086_PartitionList
https://leetcode.cn/problems/partition-list/ 给你一个链表的头节点 head 和一个特定值 x ,请你对链表进行分隔,使得所有 小于 x 的节点都出现在 大于或等于 x 的节点之前。 你应当 保留 两个分区中每个节点的初始相对顺序。 示例 1: ![i
src/main/java/L0086_PartitionList.java:23
ClassL0087_ScrambleString
https://leetcode.cn/problems/scramble-string/ 使用下面描述的算法可以扰乱字符串 s 得到字符串 t : 1. 如果字符串的长度为 1 ,算法停止 2. 如果字符串的长度 > 1 ,执行下述步骤: - 在一个随机下标处将字符串分割成两个非空的子字符
src/main/java/L0087_ScrambleString.java:37
ClassL0088_MergeSortedArray
https://leetcode.cn/problems/merge-sorted-array/ 给你两个按 非递减顺序 排列的整数数组 nums1 和 nums2,另有两个整数 m 和 n ,分别表示 nums1 和 nums2 中的元素数目。 请你 合并 nums2 到 nums1 中,使合并
src/main/java/L0088_MergeSortedArray.java:35
ClassL0089_GrayCode
https://leetcode.cn/problems/gray-code/ n 位格雷码序列 是一个由 2ⁿ 个整数组成的序列,其中: 1. 每个整数都在范围 [0, 2ⁿ - 1] 内(含 0 和 2ⁿ - 1) 2. 第一个整数是 0 3. 一个整数在序列中出现 不超过一次 4. 每对 相
src/main/java/L0089_GrayCode.java:38
ClassL0090_SubsetsII
https://leetcode.cn/problems/subsets-ii/ 给你一个整数数组 nums ,其中可能包含重复元素,请你返回该数组所有可能的子集(幂集)。 解集 不能 包含重复的子集。返回的解集中,子集可以按 任意顺序 排列。 示例 1: 输入:nums = [1,2,2] 输
src/main/java/L0090_SubsetsII.java:23
ClassL0091_DecodeWays
https://leetcode.cn/problems/decode-ways/ 一条包含字母 A-Z 的消息通过以下映射进行了编码: 'A' -> "1" 'B' -> "2" ... 'Z' -> "26" 要 解码 已编码的消息,所有数字必须基于上述映射的方法,反向映射回字母(可能有多种
src/main/java/L0091_DecodeWays.java:38
ClassL0092_ReverseLinkedListII
https://leetcode.cn/problems/reverse-linked-list-ii/ 给你单链表的头指针 head 和两个整数 left 和 right ,其中 left <= right 。请你反转从位置 left 到位置 right 的链表节点,返回 反转后的链表 。 示
src/main/java/L0092_ReverseLinkedListII.java:22
ClassL0093_RestoreIPAddresses
https://leetcode.cn/problems/restore-ip-addresses/ 有效 IP 地址 正好由四个整数(每个整数位于 0 到 255 之间组成,且不能含有前导 0),整数之间用 '.' 分隔。 - 例如:"0.1.2.201" 和 "192.168.1.1" 是 有
src/main/java/L0093_RestoreIPAddresses.java:28
ClassL0095_UniqueBinarySearchTreesII
https://leetcode.cn/problems/unique-binary-search-trees-ii/ 给你一个整数 n ,请你生成并返回所有由 n 个节点组成且节点值从 1 到 n 互不相同的不同 二叉搜索树 。可以按 任意顺序 返回答案。 示例 1: ![img](https
src/main/java/L0095_UniqueBinarySearchTreesII.java:21
ClassL0096_UniqueBinarySearchTrees
https://leetcode.cn/problems/unique-binary-search-trees/ 给你一个整数 n ,求恰由 n 个节点组成且节点值从 1 到 n 互不相同的 二叉搜索树 有多少种?返回满足题意的二叉搜索树的种数。 示例 1: ![img](https://ass
src/main/java/L0096_UniqueBinarySearchTrees.java:18
ClassL0097_InterleavingString
https://leetcode.cn/problems/interleaving-string/ 给定三个字符串 s1、s2、s3,请你帮忙验证 s3 是否是由 s1 和 s2 交错 组成的。 两个字符串 s 和 t 交错 的定义与过程如下,其中每个字符串都会被分割成若干 非空 子字符串: -
src/main/java/L0097_InterleavingString.java:31
ClassL0098_ValidateBinarySearchTree
https://leetcode.cn/problems/validate-binary-search-tree/ 给你一个二叉树的根节点 root ,判断其是否是一个有效的二叉搜索树。 有效 二叉搜索树定义如下: - 节点的左子树只包含 小于 当前节点的数。 - 节点的右子树只包含 大于 当前
src/main/java/L0098_ValidateBinarySearchTree.java:26
next →1–100 of 459, ranked by callers