随笔分类 -  Leetcode热题100

摘要:给定一个 n × n 的二维矩阵 matrix 表示一个图像。请你将图像顺时针旋转 90 度。 你必须在 原地 旋转图像,这意味着你需要直接修改输入的二维矩阵。请不要 使用另一个矩阵来旋转图像。 示例1: 输入:matrix = [[1,2,3],[4,5,6],[7,8,9]] 输出:[[7,4, 阅读全文
posted @ 2025-04-18 09:12 回忆、少年 阅读(12) 评论(0) 推荐(0)
摘要:给你一个 m 行 n 列的矩阵 matrix ,请按照 顺时针螺旋顺序 ,返回矩阵中的所有元素。 示例1: 输入:matrix = [[1,2,3],[4,5,6],[7,8,9]] 输出:[1,2,3,6,9,8,7,4,5] 示例2: 输入:matrix = [[1,2,3,4],[5,6,7, 阅读全文
posted @ 2025-04-18 08:49 回忆、少年 阅读(11) 评论(0) 推荐(0)
摘要:给定一个 m x n 的矩阵,如果一个元素为 0 ,则将其所在行和列的所有元素都设为 0 。请使用 原地 算法。 示例1: 输入:matrix = [[1,1,1],[1,0,1],[1,1,1]] 输出:[[1,0,1],[0,0,0],[1,0,1]] 示例2: 输入:matrix = [[0, 阅读全文
posted @ 2025-04-17 10:20 回忆、少年 阅读(29) 评论(0) 推荐(0)
摘要:给你一个未排序的整数数组 nums ,请你找出其中没有出现的最小的正整数。 请你实现时间复杂度为 O(n) 并且只使用常数级别额外空间的解决方案。 示例1: 输入:nums = [1,2,0] 输出:3 解释:范围 [1,2] 中的数字都在数组中。 示例2: 输入:nums = [3,4,-1,1] 阅读全文
posted @ 2025-04-17 09:40 回忆、少年 阅读(19) 评论(0) 推荐(0)
摘要:给你一个整数数组 nums,返回 数组 answer ,其中 answer[i] 等于 nums 中除 nums[i] 之外其余各元素的乘积 。 题目数据保证数组nums之中任意元素的全部前缀元素和后缀的乘积都在32位整数范围内。 请不要使用除法,且在 O(n) 时间复杂度内完成此题。 示例1: 输 阅读全文
posted @ 2025-04-16 10:51 回忆、少年 阅读(15) 评论(0) 推荐(0)
摘要:给定一个整数数组 nums,将数组中的元素向右轮转 k 个位置,其中 k 是非负数。 示例1: 输入: nums = [1,2,3,4,5,6,7], k = 3 输出: [5,6,7,1,2,3,4] 解释: 向右轮转 1 步: [7,1,2,3,4,5,6] 向右轮转 2 步: [6,7,1,2 阅读全文
posted @ 2025-04-16 10:34 回忆、少年 阅读(38) 评论(0) 推荐(0)
摘要:以数组 intervals 表示若干个区间的集合,其中单个区间为 intervals[i] = [starti, endi] 。请你合并所有重叠的区间,并返回 一个不重叠的区间数组,该数组需恰好覆盖输入中的所有区间 。 示例1: 输入:intervals = [[1,3],[2,6],[8,10], 阅读全文
posted @ 2025-04-15 09:53 回忆、少年 阅读(27) 评论(0) 推荐(0)
摘要:给你一个整数数组 nums ,请你找出一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。 子数组是数组中的一个连续部分。 示例1: 输入:nums = [-2,1,-3,4,-1,2,1,-5,4] 输出:6 解释:连续子数组 [4,-1,2,1] 的和最大,为 6 。 示例2: 阅读全文
posted @ 2025-04-15 09:25 回忆、少年 阅读(17) 评论(0) 推荐(0)
摘要:给你一个字符串 s 、一个字符串 t 。返回 s 中涵盖 t 所有字符的最小子串。如果 s 中不存在涵盖 t 所有字符的子串,则返回空字符串 "" 。 注意: 对于 t 中重复字符,我们寻找的子字符串中该字符数量必须不少于 t 中该字符数量。 如果 s 中存在这样的子串,我们保证它是唯一的答案。 示 阅读全文
posted @ 2025-04-14 13:13 回忆、少年 阅读(37) 评论(0) 推荐(0)
摘要:给你一个整数数组 nums,有一个大小为 k 的滑动窗口从数组的最左侧移动到数组的最右侧。你只可以看到在滑动窗口内的 k 个数字。滑动窗口每次只向右移动一位。 返回 滑动窗口中的最大值 。 示例1: 输入:nums = [1,3,-1,-3,5,3,6,7], k = 3 输出:[3,3,5,5,6 阅读全文
posted @ 2025-04-14 10:24 回忆、少年 阅读(32) 评论(0) 推荐(0)
摘要:给你一个整数数组 nums 和一个整数 k ,请你统计并返回 该数组中和为 k 的子数组的个数 。 子数组是数组中元素的连续非空序列。 示例 1: 输入:nums = [1,1,1], k = 2 输出:2 示例 2: 输入:nums = [1,2,3], k = 3 输出:2 提示: 1 <= n 阅读全文
posted @ 2025-04-10 09:45 回忆、少年 阅读(33) 评论(0) 推荐(0)
摘要:给定两个字符串 s 和 p,找到 s 中所有 p 的 异位词 的子串,返回这些子串的起始索引。不考虑答案输出的顺序。 示例 1: 输入: s = "cbaebabacd", p = "abc" 输出: [0,6] 解释: 起始索引等于 0 的子串是 "cba", 它是 "abc" 的异位词。 起始索 阅读全文
posted @ 2025-04-10 09:03 回忆、少年 阅读(26) 评论(0) 推荐(0)
摘要:给定一个字符串 s ,请你找出其中不含有重复字符的 最长 子串 的长度。 示例1: 输入:s = "abcabcbb" 输出: 3 解释: 因为无重复字符的最长子串是 "abc",所以其长度为 3。 示例2: 输入: s = "bbbbb" 输出: 1 解释: 因为无重复字符的最长子串是 "b",所 阅读全文
posted @ 2025-03-14 20:25 回忆、少年 阅读(172) 评论(0) 推荐(0)
摘要:给定 n 个非负整数表示每个宽度为 1 的柱子的高度图,计算按此排列的柱子,下雨之后能接多少雨水。 示例1: 输入:height = [0,1,0,2,1,0,1,3,2,1,2,1] 输出:6 解释:上面是由数组 [0,1,0,2,1,0,1,3,2,1,2,1] 表示的高度图,在这种情况下,可以 阅读全文
posted @ 2025-03-14 19:55 回忆、少年 阅读(23) 评论(0) 推荐(0)
摘要:给你一个整数数组 nums ,判断是否存在三元组 [nums[i], nums[j], nums[k]] 满足 i != j、i != k 且 j != k ,同时还满足 nums[i] + nums[j] + nums[k] == 0 。请你返回所有和为 0 且不重复的三元组。 注意:答案中不可以 阅读全文
posted @ 2025-03-13 20:45 回忆、少年 阅读(28) 评论(0) 推荐(0)
摘要:给定一个长度为 n 的整数数组 height 。有 n 条垂线,第 i 条线的两个端点是 (i, 0) 和 (i, height[i]) 。 找出其中的两条线,使得它们与 x 轴共同构成的容器可以容纳最多的水。 返回容器可以储存的最大水量。 说明:你不能倾斜容器。 示例1: 输入:[1,8,6,2, 阅读全文
posted @ 2025-03-13 19:50 回忆、少年 阅读(16) 评论(0) 推荐(0)
摘要:给定一个数组 nums,编写一个函数将所有 0 移动到数组的末尾,同时保持非零元素的相对顺序。 请注意 ,必须在不复制数组的情况下原地对数组进行操作。 示例1: 输入: nums = [0,1,0,3,12] 输出: [1,3,12,0,0] 示例2: 输入: nums = [0] 输出: [0] 阅读全文
posted @ 2025-03-12 08:45 回忆、少年 阅读(18) 评论(0) 推荐(0)
摘要:给定一个未排序的整数数组 nums ,找出数字连续的最长序列(不要求序列元素在原数组中连续)的长度。 请你设计并实现时间复杂度为 O(n) 的算法解决此问题。 示例1: 输入:nums = [100,4,200,1,3,2] 输出:4 解释:最长数字连续序列是 [1, 2, 3, 4]。它的长度为 阅读全文
posted @ 2025-03-12 08:26 回忆、少年 阅读(48) 评论(0) 推荐(0)
摘要:给你一个字符串数组,请你将字母异位词组合在一起。可以按任意顺序返回结果列表。 字母异位词是由重新排列源单词的所有字母得到的一个新单词。 示例1: 输入: strs = ["eat", "tea", "tan", "ate", "nat", "bat"] 输出: [["bat"],["nat","ta 阅读全文
posted @ 2025-03-11 21:48 回忆、少年 阅读(41) 评论(0) 推荐(0)
摘要:给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那 两个 整数,并返回它们的数组下标。 你可以假设每种输入只会对应一个答案,并且你不能使用两次相同的元素。 你可以按任意顺序返回答案。 示例 1: 输入:nums = [2,7,11,15], 阅读全文
posted @ 2025-03-10 10:02 回忆、少年 阅读(38) 评论(0) 推荐(0)