随笔分类 -  LeetCode

摘要:题目描述 给你一个整数数组 nums ,你需要找出一个 连续子数组 ,如果对这个子数组进行升序排序,那么整个数组都会变为升序排序。 请你找出符合题意的 最短 子数组,并输出它的长度。 示例 1: 输入:nums = [2,6,4,8,10,9,15] 输出:5 解释:你只需要对 [6, 4, 8, 阅读全文
posted @ 2021-08-03 10:55 行者橙子 阅读(78) 评论(0) 推荐(0)
摘要:很久没有做题了,这道题目很容易想到用 dp 去做,但是 dp 过程中有一些细节值得记录下来。 题目描述 有台奇怪的打印机有以下两个特殊要求: 打印机每次只能打印由 同一个字符 组成的序列。 每次可以在任意起始和结束位置打印新字符,并且会覆盖掉原来已有的字符。 给你一个字符串 s ,你的任务是计算这个 阅读全文
posted @ 2021-05-24 12:44 行者橙子 阅读(140) 评论(0) 推荐(0)
摘要:题目描述 给定一个 m x n 二维字符网格 board 和一个字符串单词 word 。如果 word 存在于网格中,返回 true ;否则,返回 false 。 单词必须按照字母顺序,通过相邻的单元格内的字母构成,其中“相邻”单元格是那些水平相邻或垂直相邻的单元格。同一个单元格内的字母不允许被重复 阅读全文
posted @ 2021-04-13 14:56 行者橙子 阅读(120) 评论(0) 推荐(0)
摘要:题目描述 实现一个基本的计算器来计算一个简单的字符串表达式 s 的值。 示例1: 输入:s = "1 + 1" 输出:2 示例2: 输入:s = " 2-1 + 2 " 输出:3 示例3: 输入:s = "(1+(4+5+2)-3)+(6+8)" 输出:23 提示: 1 <= s.length <= 阅读全文
posted @ 2021-03-10 11:37 行者橙子 阅读(270) 评论(0) 推荐(0)
摘要:题目描述 给定一些标记了宽度和高度的信封,宽度和高度以整数对形式 (w, h) 出现。当另一个信封的宽度和高度都比这个信封大的时候,这个信封就可以放进另一个信封里,如同俄罗斯套娃一样。 请计算最多能有多少个信封能组成一组“俄罗斯套娃”信封(即可以把一个信封放到另一个信封里面)。 说明: 不允许旋转信 阅读全文
posted @ 2021-03-04 14:58 行者橙子 阅读(74) 评论(0) 推荐(0)
摘要:题目描述 给你一个整数数组 nums ,找到其中最长严格递增子序列的长度。 子序列是由数组派生而来的序列,删除(或不删除)数组中的元素而不改变其余元素的顺序。例如,[3,6,2,7] 是数组 [0,3,1,6,2,2,7] 的子序列。 示例1: 输入:nums = [10,9,2,5,3,7,101 阅读全文
posted @ 2021-03-04 14:51 行者橙子 阅读(102) 评论(0) 推荐(0)
摘要:题目描述 给定一个非负整数 num。对于 0 ≤ i ≤ num 范围中的每个数字 i ,计算其二进制数中的 1 的数目并将它们作为数组返回。 示例1: 输入: 2 输出: [0,1,1] 示例2: 输入: 5 输出: [0,1,1,2,1,2] 进阶: 给出时间复杂度为 \(O(n*sizeof( 阅读全文
posted @ 2021-03-03 15:56 行者橙子 阅读(75) 评论(0) 推荐(0)
摘要:题目描述 给你一个字符串 s 和一个整数 k ,请你找出 s 中的最长子串, 要求该子串中的每一字符出现次数都不少于 k 。返回这一子串的长度。 示例1: 输入:s = "aaabb", k = 3 输出:3 解释:最长子串为 "aaa" ,其中 'a' 重复了 3 次。 示例2: 输入:s = " 阅读全文
posted @ 2021-02-27 13:43 行者橙子 阅读(113) 评论(0) 推荐(0)
摘要:题目描述 这道题直接照搬了官方题解,接下来认真刷两道滑动窗口吧。 给你一个仅由大写英文字母组成的字符串,你可以将任意位置上的字符替换成另外的字符,总共可最多替换 k 次。在执行上述操作后,找到包含重复字母的最长子串的长度。 注意:字符串长度 和 k 不会超过 104。 示例1: 输入:s = "AB 阅读全文
posted @ 2021-02-02 15:41 行者橙子 阅读(66) 评论(0) 推荐(0)
摘要:题目描述 有 n 个城市,其中一些彼此相连,另一些没有相连。如果城市 a 与城市 b 直接相连,且城市 b 与城市 c 直接相连,那么城市 a 与城市 c 间接相连。 省份是一组直接或间接相连的城市,组内不含其他没有相连的城市。 给你一个 n x n 的矩阵 isConnected ,其中 isCo 阅读全文
posted @ 2021-01-07 15:57 行者橙子 阅读(364) 评论(0) 推荐(0)
摘要:题目描述 给定一个区间的集合,找到需要移除区间的最小数量,使剩余区间互不重叠。 注意: 可以认为区间的终点总是大于它的起点。 区间 [1,2] 和 [2,3] 的边界相互“接触”,但没有相互重叠。 示例1: 输入: [ [1,2], [2,3], [3,4], [1,3] ] 输出: 1 解释: 移 阅读全文
posted @ 2020-12-31 11:29 行者橙子 阅读(111) 评论(0) 推荐(0)
摘要:题目描述 给定四个包含整数的数组列表 A , B , C , D ,计算有多少个元组 (i, j, k, l) ,使得 A[i] + B[j] + C[k] + D[l] = 0。 为了使问题简单化,所有的 A, B, C, D 具有相同的长度 N,且 0 ≤ N ≤ 500 。所有整数的范围在 \ 阅读全文
posted @ 2020-11-27 14:23 行者橙子 阅读(136) 评论(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 @ 2020-11-26 17:14 行者橙子 阅读(85) 评论(0) 推荐(0)
摘要:题目描述 给你链表的头结点 head ,请将其按 升序 排列并返回 排序后的链表 。 进阶: 你可以在 \(O(n \log n)\) 时间复杂度和常数级空间复杂度下,对链表进行排序吗? 示例1: 输入:head = [4,2,1,3] 输出:[1,2,3,4] 示例2: 输入:head = [-1 阅读全文
posted @ 2020-11-21 19:39 行者橙子 阅读(158) 评论(0) 推荐(0)
摘要:题目描述 插入排序算法: 1. 插入排序是迭代的,每次只移动一个元素,直到所有元素可以形成一个有序的输出列表。 2. 每次迭代中,插入排序只从输入数据中移除一个待排序的元素,找到它在序列中适当的位置,并将其插入。 3. 重复直到所有输入数据插入完为止。 示例1: 输入: 4->2->1->3 输出: 阅读全文
posted @ 2020-11-20 20:42 行者橙子 阅读(149) 评论(0) 推荐(0)
摘要:题目描述 给定一个以字符串表示的非负整数 num,移除这个数中的 k 位数字,使得剩下的数字最小。 注意: num 的长度小于 10002 且 ≥ k。 num 不会包含任何前导零。 示例1: 输入: num = "1432219", k = 3 输出: "1219" 解释: 移除掉三个数字 4, 阅读全文
posted @ 2020-11-15 14:52 行者橙子 阅读(132) 评论(0) 推荐(0)
摘要:题目描述 给你两个数组,arr1 和 arr2, arr2 中的元素各不相同 arr2 中的每个元素都出现在 arr1 中 对 arr1 中的元素进行排序,使 arr1 中项的相对顺序和 arr2 中的相对顺序相同。未在 arr2 中出现过的元素需要按照升序放在 arr1 的末尾。 示例: 输入:a 阅读全文
posted @ 2020-11-14 15:37 行者橙子 阅读(192) 评论(0) 推荐(0)
摘要:题目描述 给定一个单链表,把所有的奇数节点和偶数节点分别排在一起。请注意,这里的奇数节点和偶数节点指的是节点编号的奇偶性,而不是节点的值的奇偶性。 请尝试使用原地算法完成。你的算法的空间复杂度应为 \(O(1)\),时间复杂度应为 \(O(nodes)\),\(nodes\) 为节点总数。 示例1: 阅读全文
posted @ 2020-11-13 16:19 行者橙子 阅读(83) 评论(0) 推荐(0)
摘要:题目描述 给定一个正整数 n ,输出外观数列的第 n 项。 「外观数列」是一个整数序列,从数字 1 开始,序列中的每一项都是对前一项的描述。 你可以将其视作是由递归公式定义的数字字符串序列: countAndSay(1) = "1" countAndSay(n) 是对 countAndSay(n-1 阅读全文
posted @ 2020-11-10 20:06 行者橙子 阅读(85) 评论(0) 推荐(0)
摘要:题目描述 我们有一个由平面上的点组成的列表 points。需要从中找出 K 个距离原点 (0, 0) 最近的点。 (这里,平面上两点之间的距离是欧几里德距离。) 你可以按任何顺序返回答案。除了点坐标的顺序之外,答案确保是唯一的。 示例1: 输入:points = [[1,3],[-2,2]], K 阅读全文
posted @ 2020-11-09 22:11 行者橙子 阅读(160) 评论(0) 推荐(0)