![](https://img-blog.csdnimg.cn/20190927151117521.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
leetcode
力扣刷题
LepoLepo
perception
展开
-
189.轮转数组
代码问题描述:给你一个数组,将数组中的元素向右轮转 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,3,4,5]向右轮转 3 步: [5,6,7,1,2,3,4]示例 2:输入:nums = [-1,-100,3,99], k = 2输出:[3,99,-1,-100]解释:..原创 2022-05-19 18:30:00 · 131 阅读 · 0 评论 -
1850. 邻位交换的最小次数
问题分类:给你一个表示大整数的字符串 num ,和一个整数 k 。如果某个整数是 num 中各位数字的一个 排列 且它的 值大于 num ,则称这个整数为 妙数 。可能存在很多妙数,但是只需要关注 值最小 的那些。例如,num = "5489355142" :第 1 个最小妙数是 "5489355214"第 2 个最小妙数是 "5489355241"第 3 个最小妙数是 "5489355412"第 4 个最小妙数是 "5489355421"返回要得到第 k 个 最小妙数 需要对 num原创 2022-05-07 19:30:00 · 139 阅读 · 0 评论 -
1161. 最大层内元素和
问题描述:给你一个二叉树的根节点 root。设根节点位于二叉树的第 1 层,而根节点的子节点位于第 2 层,依此类推。请返回层内元素之和 最大 的那几层(可能只有一层)的层号,并返回其中 最小 的那个。示例 1:输入:root = [1,7,0,7,-8,null,null]输出:2解释:第 1 层各元素之和为 1,第 2 层各元素之和为 7 + 0 = 7,第 3 层各元素之和为 7 + -8 = -1,所以我们返回第 2 层的层号,它的层内元素之和最大。示例 2:原创 2022-05-06 18:45:00 · 78 阅读 · 0 评论 -
128. 最长连续序列
问题描述:给定一个未排序的整数数组 nums ,找出数字连续的最长序列(不要求序列元素在原数组中连续)的长度。请你设计并实现时间复杂度为 O(n) 的算法解决此问题。示例 1:输入:nums = [100,4,200,1,3,2]输出:4解释:最长数字连续序列是 [1, 2, 3, 4]。它的长度为 4。示例 2:输入:nums = [0,3,7,2,5,8,4,6,0,1]输出:9问题分析:1、忽略重复值,使用ordered_set保留nums中的元素。2、遍历o原创 2022-05-05 17:51:54 · 125 阅读 · 0 评论 -
剑指 Offer II 053. 二叉搜索树中的中序后继
问题描述:给定一棵二叉搜索树和其中的一个节点 p ,找到该节点在树中的中序后继。如果节点没有中序后继,请返回 null 。节点 p 的后继是值比 p.val 大的节点中键值最小的节点,即按中序遍历的顺序节点 p 的下一个节点。示例 1:输入:root = [2,1,3], p = 1输出:2解释:这里 1 的中序后继是 2。请注意 p 和返回值都应是 TreeNode 类型。示例 2:输入:root = [5,3,6,2,4,null,null,1], p = 6输原创 2022-04-26 13:57:29 · 614 阅读 · 0 评论 -
209. 长度最小的子数组
问题描述:给定一个含有 n 个正整数的数组和一个正整数 target 。找出该数组中满足其和 ≥ target 的长度最小的 连续子数组 [numsl, numsl+1, ..., numsr-1, numsr] ,并返回其长度。如果不存在符合条件的子数组,返回 0 。示例 1:输入:target = 7, nums = [2,3,1,2,4,3]输出:2解释:子数组[4,3]是该条件下的长度最小的子数组。示例 2:输入:target = 4, nums = [1,4,4]..原创 2022-04-21 09:19:06 · 117 阅读 · 2 评论 -
1238. 循环码排列
问题描述:给你两个整数 n 和 start。你的任务是返回任意 (0,1,2,,...,2^n-1) 的排列 p,并且满足:p[0] = startp[i] 和 p[i+1]的二进制表示形式只有一位不同p[0] 和 p[2^n -1]的二进制表示形式也只有一位不同示例 1:输入:n = 2, start = 3输出:[3,2,0,1]解释:这个排列的二进制表示是 (11,10,00,01) 所有的相邻元素都有一位是不同的,另一个有效的排列是 [3,1,0,2...原创 2022-04-20 14:29:05 · 314 阅读 · 0 评论 -
1328. 破坏回文串
问题描述:给你一个由小写英文字母组成的回文字符串 palindrome ,请你将其中 一个 字符用任意小写英文字母替换,使得结果字符串的 字典序最小 ,且 不是 回文串。请你返回结果字符串。如果无法做到,则返回一个 空串 。如果两个字符串长度相同,那么字符串 a 字典序比字符串 b 小可以这样定义:在 a 和 b 出现不同的第一个位置上,字符串 a 中的字符严格小于 b 中的对应字符。例如,"abcc” 字典序比 "abcd" 小,因为不同的第一个位置是在第四个字符,显然 'c' 比 'd' 小原创 2022-04-20 09:17:45 · 190 阅读 · 0 评论 -
855.考场就座
问题描述:在考场里,一排有N个座位,分别编号为0, 1, 2, ..., N-1。当学生进入考场后,他必须坐在能够使他与离他最近的人之间的距离达到最大化的座位上。如果有多个这样的座位,他会坐在编号最小的座位上。(另外,如果考场里没有人,那么学生就坐在 0 号座位上。)返回ExamRoom(int N)类,它有两个公开的函数:其中,函数ExamRoom.seat()会返回一个int(整型数据),代表学生坐的位置;函数ExamRoom.leave(int p)代表坐在座位...原创 2022-04-19 17:55:05 · 186 阅读 · 0 评论