![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
leetcode
---
野草说技术
这个作者很懒,什么都没留下…
展开
-
LeetCode 56. 合并区间
以数组 intervals 表示若干个区间的集合,其中单个区间为 intervals[i] = [starti, endi] 。请你合并所有重叠的区间,并返回 一个不重叠的区间数组,该数组需恰好覆盖输入中的所有区间 。原创 2024-07-10 20:21:16 · 84 阅读 · 0 评论 -
LeetCode 228. 汇总区间
给定一个 无重复元素 的 有序 整数数组 nums 。返回 恰好覆盖数组中所有数字 的 最小有序 区间范围列表 。也就是说,nums 的每个元素都恰好被某个区间范围所覆盖,并且不存在属于某个范围但不属于 nums 的数字 x 。原创 2024-07-10 19:38:19 · 112 阅读 · 0 评论 -
LeetCode 128. 最长连续序列
给定一个未排序的整数数组 nums ,找出数字连续的最长序列(不要求序列元素在原数组中连续)的长度。原创 2024-07-09 21:08:02 · 171 阅读 · 0 评论 -
LeetCode 219. 存在重复元素 II
给你一个整数数组 nums 和一个整数 k ,判断数组中是否存在两个 不同的索引 i 和 j ,满足 nums[i] == nums[j] 且 abs(i - j)原创 2024-07-09 20:14:34 · 304 阅读 · 0 评论 -
LeetCode 202. 快乐数
编写一个算法来判断一个数 n 是不是快乐数。「快乐数」 定义为:对于一个正整数,每一次将该数替换为它每个位置上的数字的平方和。然后重复这个过程直到这个数变为 1,也可能是 无限循环 但始终变不到 1。如果这个过程 结果为 1,那么这个数就是快乐数。如果 n 是 快乐数 就返回 true ;不是,则返回 false 。原创 2024-07-09 19:59:57 · 206 阅读 · 0 评论 -
LeetCode 49. 字母异位词分组
给你一个字符串数组,请你将 字母异位词 组合在一起。可以按任意顺序返回结果列表。字母异位词 是由重新排列源单词的所有字母得到的一个新单词。原创 2024-07-08 20:28:10 · 242 阅读 · 0 评论 -
LeetCode 242. 有效的字母异位词
给定两个字符串 s 和 t ,编写一个函数来判断 t 是否是 s 的字母异位词。注意:若 s 和 t 中每个字符出现的次数都相同,则称 s 和 t 互为字母异位词。原创 2024-07-08 20:23:08 · 204 阅读 · 0 评论 -
LeetCode 290. 单词规律
给定一种规律 pattern 和一个字符串 s ,判断 s 是否遵循相同的规律。这里的 遵循 指完全匹配,例如, pattern 里的每个字母和字符串 s 中的每个非空单词之间存在着双向连接的对应规律。原创 2024-07-08 20:20:48 · 227 阅读 · 0 评论 -
LeetCode 205. 同构字符串
给定两个字符串 s 和 t ,判断它们是否是同构的。如果 s 中的字符可以按某种映射关系替换得到 t ,那么这两个字符串是同构的。每个出现的字符都应当映射到另一个字符,同时不改变字符的顺序。不同字符不能映射到同一个字符上,相同字符只能映射到同一个字符上,字符可以映射到自己本身。原创 2024-07-08 20:18:34 · 274 阅读 · 0 评论 -
LeetCode 383. 赎金信
给你两个字符串:ransomNote 和 magazine ,判断 ransomNote 能不能由 magazine 里面的字符构成。原创 2024-07-08 00:45:59 · 155 阅读 · 0 评论 -
LeetCode 289. 生命游戏
生命游戏原创 2024-07-07 21:52:52 · 278 阅读 · 0 评论 -
LeetCode 73. 矩阵置零
给定一个 m x n 的矩阵,如果一个元素为 0 ,则将其所在行和列的所有元素都设为 0 。请使用 原地 算法。原创 2024-07-07 20:15:26 · 243 阅读 · 0 评论 -
LeetCode 48. 旋转图像
给定一个 n × n 的二维矩阵 matrix 表示一个图像。请你将图像顺时针旋转 90 度。你必须在 原地 旋转图像,这意味着你需要直接修改输入的二维矩阵。请不要 使用另一个矩阵来旋转图像。原创 2024-07-06 20:32:51 · 125 阅读 · 0 评论 -
LeetCode 54. 螺旋矩阵
给你一个 m 行 n 列的矩阵 matrix ,请按照 顺时针螺旋顺序 ,返回矩阵中的所有元素。原创 2024-07-06 00:16:40 · 343 阅读 · 0 评论 -
LeetCode 36. 有效的数独
请你判断一个 9 x 9 的数独是否有效。只需要 根据以下规则 ,验证已经填入的数字是否有效即可。数字 1-9 在每一行只能出现一次。数字 1-9 在每一列只能出现一次。数字 1-9 在每一个以粗实线分隔的 3x3 宫内只能出现一次。原创 2024-07-04 19:49:09 · 282 阅读 · 0 评论 -
LeetCode 76. 最小覆盖子串
给你一个字符串 s 、一个字符串 t 。返回 s 中涵盖 t 所有字符的最小子串。如果 s 中不存在涵盖 t 所有字符的子串,则返回空字符串 "" 。原创 2024-07-04 00:12:03 · 298 阅读 · 0 评论 -
LeetCode 30. 串联所有单词的子串
给定一个字符串 s 和一个字符串数组 words。 words 中所有字符串 长度相同。 s 中的 串联子串 是指一个包含 words 中所有字符串以任意顺序排列连接起来的子串。原创 2024-07-02 20:35:53 · 300 阅读 · 0 评论 -
LeetCode 3. 无重复字符的最长子串
请注意,你的答案必须是 子串 的长度,“pwke” 是一个子序列,不是子串。解释: 因为无重复字符的最长子串是 “abc”,所以其长度为 3。解释: 因为无重复字符的最长子串是 “wke”,所以其长度为 3。解释: 因为无重复字符的最长子串是 “b”,所以其长度为 1。给定一个字符串 s ,请你找出其中不含有重复字符的 最长。输入: s = “abcabcbb”s 由英文字母、数字、符号和空格组成。输入: s = “pwwkew”输入: s = “bbbbb”原创 2024-07-01 20:33:02 · 191 阅读 · 0 评论 -
LeetCode 209. 长度最小的子数组
numsl, numsl+1, …, numsr-1, numsr] ,并返回其长度。如果不存在符合条件的子数组,返回 0。如果你已经实现 O(n) 时间复杂度的解法, 请尝试设计一个 O(n log(n)) 时间复杂度的解法。输入:target = 11, nums = [1,1,1,1,1,1,1,1]输入:target = 7, nums = [2,3,1,2,4,3]输入:target = 4, nums = [1,4,4]解释:子数组 [4,3] 是该条件下的长度最小的子数组。原创 2024-06-30 21:34:47 · 367 阅读 · 0 评论 -
LeetCode 15. 三数之和
给你一个整数数组 nums ,判断是否存在三元组 [nums[i], nums[j], nums[k]] 满足 i!= k ,同时还满足 nums[i] + nums[j] + nums[k] == 0。不同的三元组是 [-1,0,1] 和 [-1,-1,2]。原创 2024-06-29 19:31:14 · 338 阅读 · 0 评论 -
LeetCode 11. 盛最多水的容器
有 n 条垂线,第 i 条线的两个端点是 (i, 0) 和 (i, height[i])。解释:图中垂直线代表输入数组 [1,8,6,2,5,4,8,3,7]。在此情况下,容器能够容纳水(表示为蓝色部分)的最大值为 49。找出其中的两条线,使得它们与 x 轴共同构成的容器可以容纳最多的水。两头往中间移动,最开始底最宽,移动的时候先移动低的那边,交替移动。输入:[1,8,6,2,5,4,8,3,7]输入:height = [1,1]以为优化一下能过结果还是超时了。说明:你不能倾斜容器。原创 2024-06-28 20:43:25 · 267 阅读 · 0 评论 -
LeetCode 167. 两数之和 II - 输入有序数组
如果设这两个数分别是 numbers[index1] 和 numbers[index2] ,则 1原创 2024-06-27 19:51:48 · 358 阅读 · 0 评论 -
LeetCode 392. 判断子序列
字符串的一个子序列是原始字符串删除一些(也可以不删除)字符而不改变剩余字符相对位置形成的新字符串。(例如,"ace"是"abcde"的一个子序列,而"aec"不是)。给定字符串 s 和 t ,判断 s 是否为 t 的子序列。输入:s = “abc”, t = “ahbgdc”输入:s = “axc”, t = “ahbgdc”两个字符串都只由小写字符组成。看一眼我2020年的提交,啊。原创 2024-06-26 20:05:14 · 233 阅读 · 0 评论 -
LeetCode 125. 验证回文串
如果在将所有大写字符转换为小写字符、并移除所有非字母数字字符之后,短语正着读和反着读都一样。给你一个字符串 s,如果它是 回文串 ,返回 true;输入: s = “A man, a plan, a canal: Panama”解释:“amanaplanacanalpanama” 是回文串。解释:在移除非字母数字字符之后,s 是一个空字符串 “”。由于空字符串正着反着读都一样,所以是回文串。原创 2024-06-25 19:42:23 · 206 阅读 · 0 评论 -
LeetCode 68. 文本左右对齐
LeetCode 68. 文本左右对齐原创 2024-06-24 23:12:44 · 235 阅读 · 0 评论 -
LeetCode 28. 找出字符串中第一个匹配项的下标
给你两个字符串 haystack 和 needle ,请你在 haystack 字符串中找出 needle 字符串的第一个匹配项的下标(下标从 0 开始)。输入:haystack = “leetcode”, needle = “leeto”输入:haystack = “sadbutsad”, needle = “sad”解释:“leeto” 没有在 “leetcode” 中出现,所以返回 -1。解释:“sad” 在下标 0 和 6 处匹配。或者用 KMP 算法。原创 2024-06-23 10:15:27 · 220 阅读 · 0 评论 -
LeetCode 6. Z 字形变换
之后,你的输出需要从左往右逐行读取,产生出一个新的字符串,比如:“PAHNAPLSIIGYIR”。将一个给定字符串 s 根据给定的行数 numRows ,以从上往下、从左到右进行 Z 字形排列。输入:s = “PAYPALISHIRING”, numRows = 3。输入:s = “PAYPALISHIRING”, numRows = 4。输入:s = “A”, numRows = 1。输出:“PAHNAPLSIIGYIR”输出:“PINALSIGYAHRPI”蛮力法:直接挨个计算元素坐标然后计算。原创 2024-06-20 21:23:43 · 380 阅读 · 0 评论 -
LeetCode 151. 反转字符串中的单词
注意:输入字符串 s中可能会存在前导空格、尾随空格或者单词间的多个空格。返回的结果字符串中,单词间应当仅用单个空格分隔,且不包含任何额外的空格。s 中使用至少一个空格将字符串中的 单词 分隔开。解释:如果两个单词间有多余的空格,反转后的字符串需要将单词间的空格减少到仅有一个。给你一个字符串 s ,请你反转字符串中 单词 的顺序。解释:反转后的字符串中不能存在前导空格和尾随空格。输入:s = “a good example”输入:s = “the sky is blue”输出:“world hello”原创 2024-06-19 20:29:05 · 170 阅读 · 0 评论 -
LeetCode 14. 最长公共前缀
输入:strs = [“flower”,“flow”,“flight”]输入:strs = [“dog”,“racecar”,“car”]编写一个函数来查找字符串数组中的最长公共前缀。如果不存在公共前缀,返回空字符串 “”。strs[i] 仅由小写英文字母组成。解释:输入不存在公共前缀。原创 2024-06-18 21:52:40 · 300 阅读 · 0 评论 -
LeetCode 58. 最后一个单词的长度
你一个字符串 s,由若干单词组成,单词前后用一些空格字符隔开。返回字符串中 最后一个 单词的长度。输入:s = " fly me to the moon "输入:s = “luffy is still joyboy”单词 是指仅由字母组成、不包含任何空格字符的最大子字符串。解释:最后一个单词是长度为 6 的“joyboy”。解释:最后一个单词是“World”,长度为 5。解释:最后一个单词是“moon”,长度为 4。输入:s = “Hello World”s 中至少存在一个单词。原创 2024-06-17 23:07:32 · 433 阅读 · 0 评论 -
Leetcode 304. 二维区域和检索 - 矩阵不可变
给定一个二维矩阵,计算其子矩形范围内元素的总和,该子矩阵的左上角为 (row1, col1) ,右下角为 (row2, col2)。上图子矩阵左上角 (row1, col1) = (2, 1) ,右下角(row2, col2) = (4, 3),该子矩形内元素的总和为8。来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/range-sum-query-2d-immutable著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处.原创 2021-03-02 09:28:35 · 91 阅读 · 0 评论 -
Leetcode 303. 区域和检索 - 数组不可变
给定一个整数数组 nums,求出数组从索引 i 到 j(i ≤ j)范围内元素的总和,包含 i、j 两点。实现 NumArray 类:NumArray(int[] nums) 使用数组 nums 初始化对象int sumRange(int i, int j) 返回数组 nums 从索引 i 到 j(i ≤ j)范围内元素的总和,包含 i、j两点(也就是 sum(nums[i], nums[i + 1], … , nums[j]))来源:力扣(LeetCode)链接:https://lee.原创 2021-03-01 11:25:49 · 100 阅读 · 0 评论 -
Leetcode 5690. 最接近目标价格的甜点成本
你打算做甜点,现在需要购买配料。目前共有 n 种冰激凌基料和 m 种配料可供选购。而制作甜点需要遵循以下几条规则:必须选择 一种 冰激凌基料。可以添加 一种或多种 配料,也可以不添加任何配料。每种类型的配料 最多两份 。给你以下三个输入:baseCosts ,一个长度为 n 的整数数组,其中每个 baseCosts[i] 表示第 i 种冰激凌基料的价格。toppingCosts,一个长度为 m 的整数数组,其中每个 toppingCosts[i] 表示 一份 第 i 种冰激凌配料的价格。.原创 2021-02-28 13:28:13 · 242 阅读 · 0 评论 -
Leetcode 896. 单调数列
如果数组是单调递增或单调递减的,那么它是单调的。如果对于所有 i <= j,A[i] <= A[j],那么数组 A 是单调递增的。 如果对于所有 i <= j,A[i]>=A[j],那么数组 A 是单调递减的。当给定的数组 A 是单调数组时返回 true,否则返回 false。 来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/monotonic-array著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注..原创 2021-02-28 12:58:36 · 104 阅读 · 0 评论 -
Leetcode 48. 旋转图像
给定一个 n × n 的二维矩阵 matrix 表示一个图像。请你将图像顺时针旋转 90 度。你必须在 原地 旋转图像,这意味着你需要直接修改输入的二维矩阵。请不要 使用另一个矩阵来旋转图像。 来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/rotate-image著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。蛮力,镜像+转置class Solution { public void rotate(in..原创 2021-02-27 14:58:17 · 176 阅读 · 3 评论 -
Leetcode 395.至少有K个重复字符的最长子串
找到给定字符串(由小写字符组成)中的最长子串 T , 要求 T 中的每一字符出现次数都不少于 k 。输出 T 的长度。 来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/longest-substring-with-at-least-k-repeating-characters著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。分治class Solution { public int longestSubstri..原创 2021-02-27 13:16:31 · 117 阅读 · 0 评论 -
Leetcode 11. 盛最多水的容器
给你 n 个非负整数 a1,a2,…,an,每个数代表坐标中的一个点 (i, ai) 。在坐标内画 n 条垂直线,垂直线 i 的两个端点分别为 (i, ai) 和 (i, 0) 。找出其中的两条线,使得它们与 x 轴共同构成的容器可以容纳最多的水。说明:你不能倾斜容器。 来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/container-with-most-water著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处..原创 2021-02-26 22:28:56 · 153 阅读 · 0 评论 -
Leetcode 12. 整数转罗马数字
例如, 罗马数字 2 写做 II ,即为两个并列的 1。12 写做 XII ,即为 X + II 。 27 写做 XXVII, 即为 XX + V + II 。通常情况下,罗马数字中小的数字在大的数字的右边。但也存在特例,例如 4 不写做 IIII,而是 IV。数字 1 在数字 5 的左边,所表示的数等于大数 5 减小数 1 得到的数值 4 。同样地,数字 9 表示为 IX。这个特殊的规则只适用于以下六种情况:I 可以放在 V (5) 和 X (10) 的左边,来表示 4 和 9。...原创 2021-02-26 21:03:14 · 103 阅读 · 0 评论 -
Leetcode 2. 两数相加
给你两个 非空 的链表,表示两个非负的整数。它们每位数字都是按照 逆序 的方式存储的,并且每个节点只能存储 一位 数字。请你将两个数相加,并以相同形式返回一个表示和的链表。你可以假设除了数字 0 之外,这两个数都不会以 0 开头。 来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/add-two-numbers著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。蛮力,new ListNode()class Solut..原创 2021-02-25 19:29:50 · 170 阅读 · 2 评论 -
Leetcode 867. 转置矩阵
给你一个二维整数数组 matrix, 返回 matrix 的 转置矩阵 。矩阵的 转置 是指将矩阵的主对角线翻转,交换矩阵的行索引与列索引。 来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/transpose-matrix著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。蛮力class Solution { public int[][] transpose(int[][] matrix) { ..原创 2021-02-25 15:31:50 · 157 阅读 · 2 评论