随笔分类 - 思维
摘要:题目来源 400. 第 N 位数字 题目详情 给你一个整数 n ,请你在无限的整数序列 [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, ...] 中找出并返回第 n 位上的数字。 示例 1: 输入: n = 3 输出: 3 示例 2: 输入: n = 11 输出: 0 解释:
阅读全文
摘要:题目来源 556. 下一个更大元素 III 题目详情 给你一个正整数 n ,请你找出符合条件的最小整数,其由重新排列 n中存在的每位数字组成,并且其值大于 n 。如果不存在这样的正整数,则返回 -1 。 注意 ,返回的整数应当是一个 32 位整数 ,如果存在满足题意的答案,但不是 32 位整数 ,同
阅读全文
摘要:题目来源 86. 分隔链表 题目描述 给你一个链表的头节点 head 和一个特定值 x ,请你对链表进行分隔,使得所有 小于 x 的节点都出现在 大于或等于 x 的节点之前。 你应当 保留 两个分区中每个节点的初始相对位置。 示例 1: 输入: head = [1,4,3,2,5,2], x = 3
阅读全文
摘要:题目来源 149. 直线上最多的点数 题目详情 给你一个数组 points ,其中 points[i] = [xi, yi] 表示 X-Y 平面上的一个点。求最多有多少个点在同一条直线上。 示例 1: 输入: points = [[1,1],[2,2],[3,3]] 输出: 3 示例 2: 输入:
阅读全文
摘要:题目来源 316. 去除重复字母 题目详情 给你一个字符串 s ,请你去除字符串中重复的字母,使得每个字母只出现一次。需保证 返回结果的字典序最小(要求不能打乱其他字符的相对位置)。 注意: 该题与 1081 https://leetcode-cn.com/problems/smallest-sub
阅读全文
摘要:题目来源 402. 移掉 K 位数字 题目详情 给你一个以字符串表示的非负整数 num 和一个整数 k ,移除这个数中的 k 位数字,使得剩下的数字最小。请你以字符串形式返回这个最小的数字。 示例 1 : 输入: num = "1432219", k = 3 输出: "1219" 解释: 移除掉三个
阅读全文
摘要:题目来源 7. 整数反转 题目详情 给你一个 32 位的有符号整数 x ,返回将 x 中的数字部分反转后的结果。 如果反转后整数超过 32 位的有符号整数的范围 [−231, 231 − 1] ,就返回 0。 假设环境不允许存储 64 位整数(有符号或无符号)。 示例 1: 输入: x = 123
阅读全文
摘要:题目来源 59. 螺旋矩阵 II 题目详情 给你一个正整数 n ,生成一个包含 1 到 n2 所有元素,且元素按顺时针顺序螺旋排列的 n x n 正方形矩阵 matrix 。 示例 1: 输入: n = 3 输出: [[1,2,3],[8,9,4],[7,6,5]] 示例 2: 输入: n = 1
阅读全文
摘要:题目来源 498. 对角线遍历 题目详情 给你一个大小为 m x n 的矩阵 mat ,请以对角线遍历的顺序,用一个数组返回这个矩阵中的所有元素。 示例 1: 输入: mat = [[1,2,3],[4,5,6],[7,8,9]] 输出: [1,2,4,7,5,3,6,8,9] 示例 2: 输入:
阅读全文
摘要:题目来源 138. 复制带随机指针的链表 题目详情 给你一个长度为 n 的链表,每个节点包含一个额外增加的随机指针 random ,该指针可以指向链表中的任何节点或空节点。 构造这个链表的 深拷贝。 深拷贝应该正好由 n 个 全新 节点组成,其中每个新节点的值都设为其对应的原节点的值。新节点的 ne
阅读全文
摘要:题目来源 448. 找到所有数组中消失的数字 题目详情 给你一个含 n 个整数的数组 nums ,其中 nums[i] 在区间 [1, n] 内。请你找出所有在 [1, n] 范围内但没有出现在 nums 中的数字,并以数组的形式返回结果。 示例 1: 输入: nums = [4,3,2,7,8,2
阅读全文
摘要:题目来源 739. 每日温度 题目详情 请根据每日 气温 列表 temperatures ,请计算在每一天需要等几天才会有更高的温度。如果气温在这之后都不会升高,请在该位置用 0 来代替。 示例 1: 输入: temperatures = [73,74,75,71,69,72,76,73] 输出:
阅读全文
摘要:题目来源 85. 最大矩形 题目详情 给定一个仅包含 0 和 1 、大小为 rows x cols 的二维二进制矩阵,找出只包含 1 的最大矩形,并返回其面积。 示例 1: 输入: matrix = [["1","0","1","0","0"],["1","0","1","1","1"],["1",
阅读全文
摘要:题目来源 75. 颜色分类 题目详情 给定一个包含红色、白色和蓝色,一共 n 个元素的数组,**原地**对它们进行排序,使得相同颜色的元素相邻,并按照红色、白色、蓝色顺序排列。 此题中,我们使用整数 0、 1 和 2 分别表示红色、白色和蓝色。 示例 1: 输入: nums = [2,0,2,1,1
阅读全文
摘要:题目来源 49. 字母异位词分组 题目详情 给你一个字符串数组,请你将 字母异位词 组合在一起。可以按任意顺序返回结果列表。 字母异位词 是由重新排列源单词的字母得到的一个新单词,所有源单词中的字母通常恰好只用一次。 示例 1: 输入: strs = ["eat", "tea", "tan", "a
阅读全文
摘要:题目来源 32. 最长有效括号 题目详情 给你一个只包含 '(' 和 ')' 的字符串,找出最长有效(格式正确且连续)括号子串的长度。 示例 1: 输入: s = "(()" 输出: 2 解释: 最长有效括号子串是 "()" 示例 2: 输入: s = ")()())" 输出: 4 解释: 最长有效
阅读全文
摘要:题目来源 581. 最短无序连续子数组 题目详情 给你一个整数数组 nums ,你需要找出一个 连续子数组 ,如果对这个子数组进行升序排序,那么整个数组都会变为升序排序。 请你找出符合题意的 最短 子数组,并输出它的长度。 示例 1: 输入: nums = [2,6,4,8,10,9,15] 输出:
阅读全文
摘要:题目来源 560. 和为 K 的子数组 题目详情 给你一个整数数组 nums 和一个整数 k ,请你统计并返回该数组中和为 k的连续子数组的个数。 示例 1: 输入: nums = [1,1,1], k = 2 输出: 2 示例 2: 输入: nums = [1,2,3], k = 3 输出: 2
阅读全文
摘要:题目来源 438. 找到字符串中所有字母异位词 题目详情 给定两个字符串 s 和 p,找到 s中所有 p的 异位词的子串,返回这些子串的起始索引。不考虑答案输出的顺序。 异位词 指由相同字母重排列形成的字符串(包括相同的字符串)。 示例 1: 输入: s = "cbaebabacd", p = "a
阅读全文
摘要:题目来源 406. 根据身高重建队列 题目详情 假设有打乱顺序的一群人站成一个队列,数组 people 表示队列中一些人的属性(不一定按顺序)。每个 people[i] = [hi, ki] 表示第 i 个人的身高为 hi ,前面 正好 有 ki 个身高大于或等于 hi 的人。 请你重新构造并返回输
阅读全文