
LeetCode
文章平均质量分 64
LeetCode
二木成林
这个作者很懒,什么都没留下…
展开
-
Leetcode之41.缺失的第一个正数
题目题目描述给你一个未排序的整数数组 nums ,请你找出其中没有出现的最小的正整数。请你实现时间复杂度为 O(n) 并且只使用常数级别额外空间的解决方案。示例 1:输入:nums = [1,2,0]输出:3示例 2:输入:nums = [3,4,-1,1]输出:2示例 3:输入:nums = [7,8,9,11,12]输出:1提示:1 <= nums.length <= 5 * 105-231 <= nums[i] <= 231 - 1原创 2021-09-12 14:34:12 · 417 阅读 · 0 评论 -
Leetcode之1979.找出数组的最大公约数
题目题目描述给你一个整数数组 nums ,返回数组中最大数和最小数的 最大公约数 。两个数的 最大公约数 是能够被两个数整除的最大正整数。示例 1:输入:nums = [2,5,6,9,10]输出:2解释:nums 中最小的数是 2nums 中最大的数是 102 和 10 的最大公约数是 2示例 2:输入:nums = [7,5,6,8,3]输出:1解释:nums 中最小的数是 3nums 中最大的数是 83 和 8 的最大公约数是 1示例 3:输入:nums原创 2021-09-11 21:26:28 · 707 阅读 · 0 评论 -
Leetcode之1991.找到数组的中间位置
题目题目描述给你一个下标从 0 开始的整数数组 nums ,请你找到 最左边 的中间位置 middleIndex (也就是所有可能中间位置下标最小的一个)。中间位置 middleIndex 是满足 nums[0] + nums[1] + … + nums[middleIndex-1] == nums[middleIndex+1] + nums[middleIndex+2] + … + nums[nums.length-1] 的数组下标。如果 middleIndex == 0 ,左边部分的和定义为 0原创 2021-09-09 23:27:06 · 751 阅读 · 0 评论 -
Leetcode之821.字符的最短距离
题目题目描述给你一个字符串 s 和一个字符 c ,且 c 是 s 中出现过的字符。返回一个整数数组 answer ,其中 answer.length == s.length 且 answer[i] 是 s 中从下标 i 到离它 最近 的字符 c 的 距离 。两个下标 i 和 j 之间的 距离 为 abs(i - j) ,其中 abs 是绝对值函数。示例 1:输入:s = “loveleetcode”, c = “e”输出:[3,2,1,0,1,0,0,1,2,2,1,0]解释:字符 ‘e’原创 2021-09-08 23:51:56 · 420 阅读 · 0 评论 -
Leetcode之693.交替位二进制数
题目题目描述给定一个正整数,检查它的二进制表示是否总是 0、1 交替出现:换句话说,就是二进制表示中相邻两位的数字永不相同。示例 1:输入:n = 5输出:true解释:5 的二进制表示是:101示例 2:输入:n = 7输出:false解释:7 的二进制表示是:111.示例 3:输入:n = 11输出:false解释:11 的二进制表示是:1011.示例 4:输入:n = 10输出:true解释:10 的二进制表示是:1010.示例 5:输入:n原创 2021-09-07 22:46:59 · 467 阅读 · 1 评论 -
Leetcode之1221.分割平衡字符串
题目题目描述在一个 平衡字符串 中,‘L’ 和 ‘R’ 字符的数量是相同的。给你一个平衡字符串 s,请你将它分割成尽可能多的平衡字符串。注意:分割得到的每个字符串都必须是平衡字符串。返回可以通过分割得到的平衡字符串的 最大数量 。示例 1:输入:s = “RLRRLLRLRL”输出:4解释:s 可以分割为 “RL”、“RRLL”、“RL”、“RL” ,每个子字符串中都包含相同数量的 ‘L’ 和 ‘R’ 。示例 2:输入:s = “RLLLLRRRLR”输出:3解释:s 可以分原创 2021-09-06 22:04:10 · 529 阅读 · 1 评论 -
Leetcode之1876.长度为三且各字符不同的子字符串
题目题目描述如果一个字符串不含有任何重复字符,我们称这个字符串为 好 字符串。给你一个字符串 s ,请你返回 s 中长度为 3 的 好子字符串 的数量。注意,如果相同的好子字符串出现多次,每一次都应该被记入答案之中。子字符串 是一个字符串中连续的字符序列。示例 1:输入:s = “xyzzaz”输出:1解释:总共有 4 个长度为 3 的子字符串:“xyz”,“yzz”,“zza” 和 “zaz” 。唯一的长度为 3 的好子字符串是 “xyz” 。示例 2:输入:s = “aab原创 2021-09-05 23:07:06 · 998 阅读 · 6 评论 -
Leetcode之482.密钥格式化
题目题目描述有一个密钥字符串 S ,只包含字母,数字以及 ‘-’(破折号)。其中, N 个 ‘-’ 将字符串分成了 N+1 组。给你一个数字 K,请你重新格式化字符串,使每个分组恰好包含 K 个字符。特别地,第一个分组包含的字符个数必须小于等于 K,但至少要包含 1 个字符。两个分组之间需要用 ‘-’(破折号)隔开,并且将所有的小写字母转换为大写字母。给定非空字符串 S 和数字 K,按照上面描述的规则进行格式化。示例 1:输入:S = “5F3Z-2e-9-w”, K = 4输出:“5F3Z原创 2021-09-05 21:29:45 · 309 阅读 · 0 评论 -
Leetcode之415.字符串相加
题目题目描述给定两个字符串形式的非负整数 num1 和num2 ,计算它们的和。提示num1 和num2 的长度都小于 5100num1 和num2 都只包含数字 0-9num1 和num2 都不包含任何前导零你不能使用任何內建 BigInteger 库, 也不能直接将输入的字符串转换为整数形式来源来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/add-strings著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明原创 2021-09-05 15:11:53 · 245 阅读 · 0 评论 -
LeetCode之67.二进制求和
解法1该解法是最暴力的解法,但也是不可能被通过的解法。思路是这样的:利用API将两个二进制字符串(例如:“11"和"1”)转换成十进制整数(例如:“11”->“3"和"1”->“1”),然后以十进制的方式相加(例如:3+1=4),然后将结果再转换成二进制字符串(“4”->“100”)。但这样存在一个问题,就是编程语言所支持的整数数据类型长度是有限的,比如int类型最大正数只能表示2^31-1,而二进制字符串的长度几乎可以无限长。代码如下:public class Solution {原创 2021-09-05 00:12:36 · 445 阅读 · 0 评论 -
LeetCode之1346. 检查整数及其两倍数是否存在
概要题目来源链接:https://leetcode-cn.com/problems/check-if-n-and-its-double-exist/难度:简单类型:数组题目给你一个整数数组arr,请你检查是否存在两个整数N 和 M,满足N是M的两倍(即,N = 2 * M)。更正式地,检查是否存在两个下标i 和 j 满足:i != j 0 <= i, j < arr.length arr[i] == 2 * arr[j]示例示例 1:输入...原创 2020-05-28 20:56:31 · 596 阅读 · 0 评论 -
LeetCode之1417. 重新格式化字符串
概要题目来源链接:https://leetcode-cn.com/problems/reformat-the-string/难度:简单类型:字符串题目给你一个混合了数字和字母的字符串 s,其中的字母均为小写英文字母。请你将该字符串重新格式化,使得任意两个相邻字符的类型都不同。也就是说,字母后面应该跟着数字,而数字后面应该跟着字母。请你返回 重新格式化后 的字符串;如果无法按要求重新格式化,则返回一个 空字符串 。示例示例 1:输入:s = "a0b1c2"输出:"原创 2020-05-28 16:22:48 · 399 阅读 · 0 评论 -
LeetCode之287. 寻找重复数
概要题目来源链接:https://leetcode-cn.com/problems/find-the-duplicate-number/难度:中等类型:每日一题题目给定一个包含n + 1 个整数的数组nums,其数字都在 1 到 n之间(包括 1 和 n),可知至少存在一个重复的整数。假设只有一个重复的整数,找出这个重复的数。示例示例 1:输入: [1,3,4,2,2]输出: 2示例 2:输入: [3,1,3,4,2]输出: 3说明:不能更改原数组(假...原创 2020-05-28 12:13:24 · 301 阅读 · 0 评论 -
LeetCode之136. 只出现一次的数字
概要题目来源链接:https://leetcode-cn.com/problems/single-number/难度:简单类型:数组题目给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。说明:你的算法应该具有线性时间复杂度。 你可以不使用额外空间来实现吗?示例示例 1:输入: [2,2,1]输出: 1示例 2:输入: [4,1,2,1,2]输出: 4分析第一种思路是暴力破解,即统计每个元素出现的次原创 2020-05-28 11:57:08 · 304 阅读 · 0 评论 -
LeetCode之69. x 的平方根
概要题目来源链接:https://leetcode-cn.com/problems/sqrtx/难度:简单类型:每日一题题目实现int sqrt(int x)函数。计算并返回x的平方根,其中x 是非负整数。由于返回类型是整数,结果只保留整数的部分,小数部分将被舍去。示例示例 1:输入: 4输出: 2示例 2:输入: 8输出: 2说明: 8 的平方根是 2.82842..., 由于返回类型是整数,小数部分将被舍去。来源:力扣(Le...原创 2020-05-28 11:14:19 · 464 阅读 · 0 评论 -
LeetCode之169. 多数元素
概要题目来源链接:https://leetcode-cn.com/problems/majority-element/难度:简单类型:链表题目给定一个大小为 n 的数组,找到其中的多数元素。多数元素是指在数组中出现次数大于⌊ n/2 ⌋的元素。你可以假设数组是非空的,并且给定的数组总是存在多数元素。示例示例 1:输入: [3,2,3]输出: 3示例 2:输入: [2,2,1,1,1,2,2]输出: 2分析第一种思路是,计算数组中每个元素的重复次数,..原创 2020-05-26 17:07:04 · 263 阅读 · 0 评论 -
LeetCode之83. 删除排序链表中的重复元素
概要题目来源链接:https://leetcode-cn.com/problems/remove-duplicates-from-sorted-list/难度:简单类型:链表题目给定一个排序链表,删除所有重复的元素,使得每个元素只出现一次。示例示例 1:输入: 1->1->2输出: 1->2示例 2:输入: 1->1->2->3->3输出: 1->2->3分析参见:https://blog.csdn.n原创 2020-05-23 22:07:04 · 236 阅读 · 0 评论 -
LeetCode之88. 合并两个有序数组
概要题目来源链接:https://leetcode-cn.com/problems/merge-sorted-array/难度:简单类型:数组题目给你两个有序整数数组nums1 和 nums2,请你将 nums2 合并到nums1中,使 nums1 成为一个有序数组。说明:初始化nums1 和 nums2 的元素数量分别为m 和 n 。你可以假设nums1有足够的空间(空间大小大于或等于m + n)来保存 nums2 中的元素。示例输入:nums1 ...原创 2020-05-24 09:44:22 · 351 阅读 · 0 评论 -
LeetCode之283. 移动零
概要题目来源链接:https://leetcode-cn.com/problems/move-zeroes/难度:简单类型:数组题目给定一个数组nums,编写一个函数将所有0移动到数组的末尾,同时保持非零元素的相对顺序。示例示例:输入: [0,1,0,3,12]输出: [1,3,12,0,0]说明:必须在原数组上操作,不能拷贝额外的数组。尽量减少操作次数。分析第一种算法,通常都是暴力破解。即将数组中的0删除掉,然后将非0数往前移动一个位置,再将移动剩...原创 2020-05-23 23:37:09 · 238 阅读 · 0 评论 -
LeetCode之1351. 统计有序矩阵中的负数
概要题目来源链接:https://leetcode-cn.com/problems/count-negative-numbers-in-a-sorted-matrix/难度:简单类型:数组题目给你一个m* n的矩阵grid,矩阵中的元素无论是按行还是按列,都以非递增顺序排列。请你统计并返回grid中负数的数目。示例示例 1:输入:grid = [[4,3,2,-1],[3,2,1,-1],[1,1,-1,-2],[-1,-1,-2,-3]]输出:8...原创 2020-05-24 10:42:54 · 571 阅读 · 0 评论 -
LeetCode之1252. 奇数值单元格的数目
概要题目来源链接:https://leetcode-cn.com/problems/cells-with-odd-values-in-a-matrix/难度:简单类型:数组题目给你一个n行m列的矩阵,最开始的时候,每个单元格中的值都是 0。另有一个索引数组indices,indices[i] = [ri, ci]中的ri 和 ci 分别表示指定的行和列(从 0 开始编号)。你需要将每对[ri, ci]指定的行和列上的所有单元格的值加 1。请你在执行完所有i...原创 2020-05-24 10:07:00 · 378 阅读 · 0 评论 -
LeetCode之1266. 访问所有点的最小时间
概要题目来源链接:https://leetcode-cn.com/problems/minimum-time-visiting-all-points/难度:简单类型:数组题目平面上有n个点,点的位置用整数坐标表示points[i] = [xi, yi]。请你计算访问所有这些点需要的最小时间(以秒为单位)。你可以按照下面的规则在平面上移动:每一秒沿水平或者竖直方向移动一个单位长度,或者跨过对角线(可以看作在一秒内向水平和竖直方向各移动一个单位长度)。必须按照数组中出现的顺序...原创 2020-05-24 10:30:57 · 273 阅读 · 0 评论 -
LeetCode之1295. 统计位数为偶数的数字
概要题目来源链接:https://leetcode-cn.com/problems/find-numbers-with-even-number-of-digits/难度:简单类型:数组题目给你一个整数数组nums,请你返回其中位数为偶数的数字的个数。示例示例 1:输入:nums = [12,345,2,6,7896]输出:2解释:12 是 2 位数字(位数为偶数)345 是 3 位数字(位数为奇数)2 是 1 位数字(位数为奇数)6 是 1 位数字...原创 2020-05-24 11:46:51 · 563 阅读 · 0 评论 -
LeetCode之1299. 将每个元素替换为右侧最大元素
概要题目来源链接:https://leetcode-cn.com/problems/replace-elements-with-greatest-element-on-right-side/难度:简单类型:数组题目给你一个数组arr,请你将每个元素用它右边最大的元素替换,如果是最后一个元素,用-1替换。完成所有替换操作后,请你返回这个数组。示例示例:输入:arr = [17,18,5,4,6,1]输出:[18,6,6,6,1,-1]提示:1 <...原创 2020-05-24 10:19:44 · 507 阅读 · 0 评论 -
LeetCode之1313. 解压缩编码列表
概要题目来源链接:https://leetcode-cn.com/problems/decompress-run-length-encoded-list/难度:简单类型:数组题目给你一个以行程长度编码压缩的整数列表nums。考虑每对相邻的两个元素 [freq, val] = [nums[2*i], nums[2*i+1]](其中i >= 0),每一对都表示解压后子列表中有 freq个值为val的元素,你需要从左到右连接所有子列表以生成解压后的列表。请你返回解...原创 2020-05-24 11:13:05 · 330 阅读 · 0 评论 -
LeetCode之1365. 有多少小于当前数字的数字
概要题目来源链接:https://leetcode-cn.com/problems/how-many-numbers-are-smaller-than-the-current-number/难度:简单类型:数组题目给你一个数组nums,对于其中每个元素nums[i],请你统计数组中比它小的所有数字的数目。换而言之,对于每个nums[i]你必须计算出有效的j的数量,其中 j 满足j != i 且 nums[j] < nums[i]。以数组形式返回答案。示例...原创 2020-05-24 10:54:34 · 351 阅读 · 0 评论 -
LeetCode之1389. 按既定顺序创建目标数组
概要题目来源链接:https://leetcode-cn.com/problems/create-target-array-in-the-given-order/难度:简单类型:数组题目给你两个整数数组 nums 和 index。你需要按照以下规则创建目标数组:目标数组 target 最初为空。按从左到右的顺序依次读取 nums[i] 和 index[i],在 target 数组中的下标 index[i] 处插入值 nums[i] 。重复上一步,直到在 nums 和 index原创 2020-05-24 11:05:08 · 455 阅读 · 0 评论 -
LeetCode之1431.拥有最多糖果的孩子
概要题目来源链接:https://leetcode-cn.com/problems/kids-with-the-greatest-number-of-candies/难度:简单类型:数组题目给你一个数组candies和一个整数extraCandies,其中candies[i]代表第 i 个孩子拥有的糖果数目。对每一个孩子,检查是否存在一种方案,将额外的extraCandies个糖果分配给孩子们之后,此孩子有 最多的糖果。注意,允许有多个孩子同时拥有 最多的糖果数目...原创 2020-05-22 23:42:15 · 679 阅读 · 0 评论 -
LeetCode之1450. 在既定时间做作业的学生人数
概要题目来源链接:https://leetcode-cn.com/problems/number-of-students-doing-homework-at-a-given-time/难度:简单类型:数组题目给你两个整数数组 startTime(开始时间)和 endTime(结束时间),并指定一个整数 queryTime 作为查询时间。已知,第 i 名学生在 startTime[i] 时开始写作业并于 endTime[i] 时完成作业。请返回在查询时间 queryTime 时正在原创 2020-05-23 09:36:16 · 441 阅读 · 0 评论