LeetCode--easy
容易的水题
韩师学子--小倪
不要告诉别人你的计划,只需要让别人知道结果就行了。
展开
-
2696. 删除子串后的字符串最小长度
FCACDB" 中删除子串 "AB",得到 s = "FCACDB"。B" 中删除子串 "CD",得到 s = "FCAB"。你可以对此字符串执行一些操作,在每一步操作中,你可以从。" 中删除子串 "AB",得到 s = "FC"。,删除子串后,重新连接出的字符串可能会产生新的。方法一:水题,循环执行删除对应字母的流程即可。子串,返回可获得的最终字符串的。可以证明 2 是可获得的最小长度。无法执行操作,字符串长度不变。最终字符串的长度为 2。英文字符组成的字符串。通过执行操作,删除所有。原创 2024-01-10 09:49:58 · 427 阅读 · 0 评论 -
2678. 老人的数目
输入:details = ["7868190130M7522","5303914400F9211","9273338290F4010"]解释:下标为 0 ,1 和 2 的乘客年龄分别为 75 ,92 和 40。输入:details = ["1313579440F2036","2921522980M5644"]details[i][10] 是 'M' ,'F' 或者 'O' 之一。details[i] 中的数字只包含 '0' 到 '9'。解释:没有乘客的年龄大于 60 岁。接下来的一个字符是乘客的性别。原创 2023-10-23 08:57:23 · 209 阅读 · 0 评论 -
100106. 元素和最小的山形三元组 I
这个三元组的元素和等于 nums[1] + nums[3] + nums[5] = 13。这个三元组的元素和等于 nums[2] + nums[3] + nums[4] = 9。- nums[2] < nums[3] 且 nums[4] < nums[3]- nums[1] < nums[3] 且 nums[5] < nums[3]nums[i] < nums[j] 且 nums[k] < nums[j]输入:nums = [5,4,8,7,10,2]输入:nums = [6,5,4,3,4,5]原创 2023-10-22 19:09:23 · 303 阅读 · 0 评论 -
2652. 倍数求和
解释:在 [1, 10] 范围内能被 3、5、7 整除的所有整数分别是 3、5、6、7、9、10。数字之和为 40。解释:在 [1, 9] 范围内能被 3、5、7 整除的所有整数分别是 3、5、6、7、9。数字之和为 30。解释:在 [1, 7] 范围内能被 3、5、7 整除的所有整数分别是 3、5、6、7。数字之和为 21。给你一个正整数 n ,请你计算在 [1,n] 范围内能被 3、5、7 整除的所有整数之和。返回一个整数,用于表示给定范围内所有满足约束条件的数字之和。原创 2023-10-17 09:03:44 · 135 阅读 · 0 评论 -
2562. 找出数组的串联值
nums 只有一个元素,所以我们选中 13 并将其加到串联值上,所以串联值等于 673。接着我们从 nums 中移除这两个元素,所以 nums 变为 [14,13,8]。二者的串联是 512 ,将其加到串联值上,所以串联值等于 512。二者的串联是 522 ,将其加到串联值上,所以串联值等于 596。二者的串联是 148 ,将其加到串联值上,所以串联值等于 660。二者的串联是 74 ,将其加到串联值上,所以串联值等于 74。接着我们从 nums 中移除这两个元素,所以 nums 变为空。原创 2023-10-12 08:51:17 · 93 阅读 · 0 评论 -
2578. 最小和分割
我们可以将 4325 分割成num1 = 24 和 num2 = 35 ,和为 59 ,59 是最小和。我们可以将 687 分割成 num1 = 68 和 num2 = 7, 和为最优值 75。,请你将它分割成两个非负整数。原创 2023-10-09 09:06:15 · 89 阅读 · 0 评论 -
LCP 50. 宝石补给
现在这些勇者们进行了一系列的赠送,位勇者将自己一半的宝石(需向下取整)赠送给第。宝石的勇者,并返回他们二者的宝石数量。每位勇者初始都拥有一些能量宝石,在完成所有的赠送后,请找到拥有。解释: 第 1 次操作,勇者。解释: 第 1 次操作,勇者。将一半的宝石赠送给勇者。将一半的宝石赠送给勇者。将一半的宝石赠送给勇者。将一半的宝石赠送给勇者。将一半的宝石赠送给勇者。将一半的宝石赠送给勇者。将一半的宝石赠送给勇者。第 2 次操作,勇者。第 3 次操作,勇者。第 2 次操作,勇者。第 3 次操作,勇者。原创 2023-09-15 08:59:03 · 91 阅读 · 0 评论 -
2451. 差值数组不同的字符串
差值数组不同的字符串原创 2022-11-01 22:33:52 · 392 阅读 · 0 评论 -
6027. 统计数组中峰和谷的数量
给你一个下标从0开始的整数数组nums。如果两侧距i最近的不相等邻居的值均小于nums[i],则下标i是nums中,某个峰的一部分。类似地,如果两侧距i最近的不相等邻居的值均大于nums[i],则下标i是nums中某个谷的一部分。对于相邻下标i和j,如果nums[i] == nums[j], 则认为这两下标属于同一个峰或谷。注意,要使某个下标所做峰或谷的一部分,那么它左右两侧必须都存在不相等邻居。返回nums中峰和谷的数量。示例...原创 2022-03-20 12:40:26 · 406 阅读 · 0 评论 -
6004. 得到 0 的操作数
给你两个非负整数num1和num2。每一步操作中,如果num1 >= num2,你必须用num1减num2;否则,你必须用num2减num1。例如,num1 = 5且num2 = 4,应该用num1减num2,因此,得到num1 = 1和num2 = 4。然而,如果num1 = 4且num2 = 5,一步操作后,得到num1 = 4和num2 = 1。返回使num1 = 0或num2 = 0的操作数。...原创 2022-02-13 22:29:22 · 292 阅读 · 0 评论 -
5989. 元素计数
给你一个整数数组nums,统计并返回在nums中同时具有一个严格较小元素和一个严格较大元素的元素数目。示例 1:输入:nums = [11,7,2,15]输出:2解释:元素 7 :严格较小元素是元素 2 ,严格较大元素是元素 11 。元素 11 :严格较小元素是元素 7 ,严格较大元素是元素 15 。总计有 2 个元素都满足在 nums 中同时存在一个严格较小元素和一个严格较大元素。示例 2:输入:nums = [-3,3,3,90]输出:2解释:元素 3 :严格较...原创 2022-01-23 12:26:56 · 406 阅读 · 0 评论 -
5938. 找出数组排序后的目标下标
给你一个下标从0开始的整数数组nums以及一个目标元素target。目标下标是一个满足nums[i] == target的下标i。将nums按非递减顺序排序后,返回由nums中目标下标组成的列表。如果不存在目标下标,返回一个空列表。返回的列表必须按递增顺序排列。示例 1:输入:nums = [1,2,5,2,3], target = 2输出:[1,2]解释:排序后,nums 变为 [1,2,2,3,5] 。满足 nums[i] == ...原创 2021-11-28 13:32:57 · 322 阅读 · 0 评论 -
5930. 两栋颜色不同且距离最远的房子
街上有n栋房子整齐地排成一列,每栋房子都粉刷上了漂亮的颜色。给你一个下标从0开始且长度为n的整数数组colors,其中colors[i]表示第i栋房子的颜色。返回两栋颜色不同房子之间的最大距离。第i栋房子和第j栋房子之间的距离是abs(i - j),其中abs(x)是x的绝对值。示例 1:输入:colors = [1,1,1,6,1,1,1]输出:3解释:上图中,颜色 1 标识成蓝色,颜色 6 标识成红色。两栋颜色...原创 2021-11-21 13:12:22 · 260 阅读 · 0 评论 -
5926. 买票需要的时间
有n个人前来排队买票,其中第0人站在队伍最前方,第(n - 1)人站在队伍最后方。给你一个下标从0开始的整数数组tickets,数组长度为n,其中第i人想要购买的票数为tickets[i]。每个人买票都需要用掉恰好 1 秒。一个人一次只能买一张票,如果需要购买更多票,他必须走到队尾重新排队(瞬间发生,不计时间)。如果一个人没有剩下需要买的票,那他将会离开队伍。返回位于位置k(下标从0开始)的人完成买票需要的时间(以秒为单位)。...原创 2021-11-14 12:16:17 · 251 阅读 · 0 评论 -
5906. 句子中的有效单词数
句子仅由小写字母('a'到'z')、数字('0'到'9')、连字符('-')、标点符号('!'、'.'和',')以及空格(' ')组成。每个句子可以根据空格分解成一个或者多个 token,这些 token 之间由一个或者多个空格' '分隔。如果一个 token 同时满足下述条件,则认为这个 token 是一个有效单词:仅由小写字母、连字符和/或标点(不含数字)。 至多一个连字符'-'。如果存在,连字符两侧应当都存在小写字母("a-b"是一个有效单词,但"-ab"和...原创 2021-10-24 12:25:16 · 151 阅读 · 0 评论 -
剑指 Offer II 069. 山峰数组的顶部
符合下列属性的数组arr称为山峰数组(山脉数组):arr.length >= 3 存在i(0 < i< arr.length - 1)使得: arr[0] < arr[1] < ... arr[i-1] < arr[i] arr[i] > arr[i+1] > ... > arr[arr.length - 1] 给定由整数组成的山峰数组arr,返回任何满足arr[0] < arr[1] < ... arr...原创 2021-10-14 23:42:48 · 137 阅读 · 0 评论 -
412. Fizz Buzz
给你一个整数n,找出从1到n各个整数的 Fizz Buzz 表示,并用字符串数组answer(下标从 1 开始)返回结果,其中:answer[i] == "FizzBuzz"如果i同时是3和5的倍数。 answer[i] == "Fizz"如果i是3的倍数。 answer[i] == "Buzz"如果i是5的倍数。 answer[i] == i如果上述条件全不满足。示例 1:输入:n = 3输出:["1","2","Fizz"]...原创 2021-10-13 23:34:39 · 89 阅读 · 0 评论 -
441. 排列硬币
你总共有n枚硬币,并计划将它们按阶梯状排列。对于一个由k行组成的阶梯,其第i行必须正好有i枚硬币。阶梯的最后一行可能是不完整的。给你一个数字n,计算并返回可形成完整阶梯行的总行数。示例 1:输入:n = 5输出:2解释:因为第三行不完整,所以返回 2 。示例 2:输入:n = 8输出:3解释:因为第四行不完整,所以返回 3 。提示:1 <= n <= 231- 1题解:code:cla...原创 2021-10-10 09:00:27 · 151 阅读 · 0 评论 -
434. 字符串中的单词数
统计字符串中的单词个数,这里的单词指的是连续的不是空格的字符。请注意,你可以假定字符串里不包括任何不可打印的字符。示例:输入: "Hello, my name is John"输出: 5解释: 这里的单词是指连续的不是空格的字符,所以 "Hello," 算作 1 个单词。code:class Solution { public int countSegments(String s) { char[] chars = s.toCharArray();..原创 2021-10-07 12:55:21 · 140 阅读 · 0 评论 -
414. 第三大的数
给你一个非空数组,返回此数组中第三大的数。如果不存在,则返回数组中最大的数。示例 1:输入:[3, 2, 1]输出:1解释:第三大的数是 1 。示例 2:输入:[1, 2]输出:2解释:第三大的数不存在, 所以返回最大的数 2 。示例 3:输入:[2, 2, 3, 1]输出:1解释:注意,要求返回第三大的数,是指在所有不同数字中排第三大的数。此例中存在两个值为 2 的数,它们都排第二。在所有不同数字中排第三大的数为 1 。提示:1 <= ...原创 2021-10-06 10:33:07 · 139 阅读 · 0 评论 -
482. 密钥格式化
有一个密钥字符串 S ,只包含字母,数字以及 '-'(破折号)。其中, N 个 '-' 将字符串分成了 N+1 组。给你一个数字 K,请你重新格式化字符串,使每个分组恰好包含 K 个字符。特别地,第一个分组包含的字符个数必须小于等于 K,但至少要包含 1 个字符。两个分组之间需要用 '-'(破折号)隔开,并且将所有的小写字母转换为大写字母。给定非空字符串 S 和数字 K,按照上面描述的规则进行格式化。示例 1:输入:S = "5F3Z-2e-9-w", K = 4输出:"5F3Z-2..原创 2021-10-04 21:41:38 · 151 阅读 · 0 评论 -
405. 数字转换为十六进制数
405. 数字转换为十六进制数给定一个整数,编写一个算法将这个数转换为十六进制数。对于负整数,我们通常使用补码运算方法。注意:十六进制中所有字母(a-f)都必须是小写。 十六进制字符串中不能包含多余的前导零。如果要转化的数为0,那么以单个字符'0'来表示;对于其他情况,十六进制字符串中的第一个字符将不会是0字符。 给定的数确保在32位有符号整数范围内。 不能使用任何由库提供的将数字直接转换或格式化为十六进制的方法。示例 1:输入:26输出:"1a"示例 2:...原创 2021-10-02 20:20:55 · 180 阅读 · 0 评论 -
1436. 旅行终点站
给你一份旅游线路图,该线路图中的旅行线路用数组paths表示,其中paths[i] = [cityAi, cityBi]表示该线路将会从cityAi直接前往cityBi。请你找出这次旅行的终点站,即没有任何可以通往其他城市的线路的城市。题目数据保证线路图会形成一条不存在循环的线路,因此恰有一个旅行终点站。示例 1:输入:paths = [["London","New York"],["New York","Lima"],["Lima","Sao Paulo"]]输出:...原创 2021-10-01 10:09:40 · 96 阅读 · 0 评论 -
326. 3的幂
给定一个整数,写一个函数来判断它是否是 3的幂次方。如果是,返回true;否则,返回false。整数n是 3 的幂次方需满足:存在整数x使得n == 3x示例 1:输入:n = 27输出:true示例 2:输入:n = 0输出:false示例 3:输入:n = 9输出:true示例 4:输入:n = 45输出:false提示:-231<= n <= 231- 1code:class Sol...原创 2021-09-23 20:33:42 · 141 阅读 · 0 评论 -
66. 加一
给定一个由整数组成的非空数组所表示的非负整数,在该数的基础上加一。最高位数字存放在数组的首位, 数组中每个元素只存储单个数字。你可以假设除了整数 0 之外,这个整数不会以零开头。示例1:输入:digits = [1,2,3]输出:[1,2,4]解释:输入数组表示数字 123。示例2:输入:digits = [4,3,2,1]输出:[4,3,2,2]解释:输入数组表示数字 4321。示例 3:输入:digits = [0]输出:[1]...原创 2021-09-21 08:48:08 · 71 阅读 · 0 评论 -
58. 最后一个单词的长度
给你一个字符串s,由若干单词组成,单词前后用一些空格字符隔开。返回字符串中最后一个单词的长度。单词是指仅由字母组成、不包含任何空格字符的最大子字符串。示例 1:输入:s = "Hello World"输出:5示例 2:输入:s = " fly me to the moon "输出:4示例 3:输入:s = "luffy is still joyboy"输出:6提示:1 <= s.length <= 104 s仅有英文...原创 2021-09-20 17:09:54 · 87 阅读 · 0 评论 -
使数组连续的最少操作数
给你一个整数数组nums。每一次操作中,你可以将nums中任意一个元素替换成任意整数。如果nums满足以下条件,那么它是连续的:nums中所有元素都是互不相同的。 nums中最大元素与最小元素的差等于nums.length - 1。比方说,nums = [4, 2, 5, 3]是连续的,但是nums = [1, 2, 3, 5, 6]不是连续的。请你返回使nums连续的最少操作次数。示例 1:输入:nums = ...原创 2021-09-18 23:51:03 · 1924 阅读 · 0 评论 -
292. Nim 游戏
你和你的朋友,两个人一起玩Nim 游戏:桌子上有一堆石头。 你们轮流进行自己的回合,你作为先手。 每一回合,轮到的人拿掉1 - 3 块石头。 拿掉最后一块石头的人就是获胜者。假设你们每一步都是最优解。请编写一个函数,来判断你是否可以在给定石头数量为n的情况下赢得游戏。如果可以赢,返回true;否则,返回false。示例 1:输入:n = 4输出:false 解释:如果堆中有 4 块石头,那么你永远不会赢得比赛; 因为无论你拿走 1 块、2 块 还是 ...原创 2021-09-18 22:02:42 · 140 阅读 · 0 评论 -
LCP 39. 无人机方阵
在 「力扣挑战赛」 开幕式的压轴节目 「无人机方阵」中,每一架无人机展示一种灯光颜色。 无人机方阵通过两种操作进行颜色图案变换:调整无人机的位置布局 切换无人机展示的灯光颜色给定两个大小均为N*M的二维数组source和target表示无人机方阵表演的两种颜色图案,由于无人机切换灯光颜色的耗能很大,请返回从source到target最少需要多少架无人机切换灯光颜色。注意:调整无人机的位置布局时无人机的位置可以随意变动。示例 1:输入:source = [[1,...原创 2021-09-11 17:58:16 · 793 阅读 · 0 评论 -
LCP 40. 心算挑战
「力扣挑战赛」心算项目的挑战比赛中,要求选手从N张卡牌中选出cnt张卡牌,若这cnt张卡牌数字总和为偶数,则选手成绩「有效」且得分为cnt张卡牌数字总和。给定数组cards和cnt,其中cards[i]表示第i张卡牌上的数字。 请帮参赛选手计算最大的有效得分。若不存在获取有效得分的卡牌方案,则返回 0。示例 1:输入:cards = [1,2,8,9], cnt = 3输出:18解释:选择数字为 1、8、9 的这三张卡牌,此时可获得最大的有效得分 1+8...原创 2021-09-11 17:54:52 · 571 阅读 · 0 评论 -
1221. 分割平衡字符串
在一个平衡字符串中,'L'和'R'字符的数量是相同的。给你一个平衡字符串s,请你将它分割成尽可能多的平衡字符串。注意:分割得到的每个字符串都必须是平衡字符串。返回可以通过分割得到的平衡字符串的最大数量。示例 1:输入:s = "RLRRLLRLRL"输出:4解释:s 可以分割为 "RL"、"RRLL"、"RL"、"RL" ,每个子字符串中都包含相同数量的 'L' 和 'R' 。示例 2:输入:s = "RLLLLRRRLR"输出:3解释:s 可以分割...原创 2021-09-07 21:24:43 · 131 阅读 · 0 评论 -
704. 二分查找
给定一个n个元素有序的(升序)整型数组nums和一个目标值target,写一个函数搜索nums中的target,如果目标值存在返回下标,否则返回-1。示例 1:输入: nums = [-1,0,3,5,9,12], target = 9输出: 4解释: 9 出现在 nums 中并且下标为 4示例2:输入: nums = [-1,0,3,5,9,12], target = 2输出: -1解释: 2 不存在 nums 中因此返回 -1提示:你可以...原创 2021-09-06 08:50:30 · 121 阅读 · 0 评论 -
5863. 统计特殊四元组
给你一个下标从 0 开始的整数数组nums,返回满足下述条件的不同四元组(a, b, c, d)的数目:nums[a] + nums[b] + nums[c] == nums[d],且 a < b < c < d示例 1:输入:nums = [1,2,3,6]输出:1解释:满足要求的唯一一个四元组是 (0, 1, 2, 3) 因为 1 + 2 + 3 == 6 。示例 2:输入:nums = [3,3,6,4,5]输出:0解释:[...原创 2021-09-05 11:56:14 · 251 阅读 · 0 评论 -
剑指 Offer 10- I. 斐波那契数列
写一个函数,输入n,求斐波那契(Fibonacci)数列的第n项(即F(N))。斐波那契数列的定义如下:F(0) = 0, F(1)= 1F(N) = F(N - 1) + F(N - 2), 其中 N > 1.斐波那契数列由 0 和 1 开始,之后的斐波那契数就是由之前的两数相加而得出。答案需要取模 1e9+7(1000000007),如计算初始结果为:1000000008,请返回 1。示例 1:输入:n = 2输出:1示例 2:输入:n ...原创 2021-09-04 08:44:04 · 83 阅读 · 0 评论 -
剑指 Offer 22. 链表中倒数第k个节点
输入一个链表,输出该链表中倒数第k个节点。为了符合大多数人的习惯,本题从1开始计数,即链表的尾节点是倒数第1个节点。例如,一个链表有6个节点,从头节点开始,它们的值依次是1、2、3、4、5、6。这个链表的倒数第3个节点是值为4的节点。示例:给定一个链表: 1->2->3->4->5, 和 k = 2.返回链表 4->5.题解:用一临时指针tmp,先走k次,然后head和tmp一起走,直到tmp为空,head即为要求的数。code:...原创 2021-09-02 23:31:53 · 86 阅读 · 0 评论 -
学生分数的最小差值
给你一个下标从 0 开始的整数数组nums,其中nums[i]表示第i名学生的分数。另给你一个整数k。从数组中选出任意k名学生的分数,使这k个分数间最高分和最低分的差值达到最小化。返回可能的最小差值。示例 1:输入:nums = [90], k = 1输出:0解释:选出 1 名学生的分数,仅有 1 种方法:- [90] 最高分和最低分之间的差值是 90 - 90 = 0可能的最小差值是 0示例 2:输入:nums = ...原创 2021-08-29 12:09:48 · 410 阅读 · 2 评论 -
1588. 所有奇数长度子数组的和
给你一个正整数数组arr,请你计算所有可能的奇数长度子数组的和。子数组定义为原数组中的一个连续子序列。请你返回arr中所有奇数长度子数组的和。示例 1:输入:arr = [1,4,2,5,3]输出:58解释:所有奇数长度子数组和它们的和为:[1] = 1[4] = 4[2] = 2[5] = 5[3] = 3[1,4,2] = 7[4,2,5] = 11[2,5,3] = 10[1,4,2,5,3] = 15我们将所有值求和得到 1 + 4 + 2...原创 2021-08-29 09:25:44 · 150 阅读 · 0 评论 -
1480. 一维数组的动态和
给你一个数组nums。数组「动态和」的计算公式为:runningSum[i] = sum(nums[0]…nums[i])。请返回nums的动态和。示例 1:输入:nums = [1,2,3,4]输出:[1,3,6,10]解释:动态和计算过程为 [1, 1+2, 1+2+3, 1+2+3+4] 。示例 2:输入:nums = [1,1,1,1,1]输出:[1,2,3,4,5]解释:动态和计算过程为 [1, 1+1, 1+1+1, 1+1+1+1, 1+1+1+1...原创 2021-08-28 08:29:30 · 200 阅读 · 0 评论 -
1646. 获取生成数组中的最大值
给你一个整数n。按下述规则生成一个长度为n + 1的数组nums:nums[0] = 0 nums[1] = 1 当2 <= 2 * i <= n时,nums[2 * i] = nums[i] 当2 <= 2 * i + 1 <= n时,nums[2 * i + 1] = nums[i] + nums[i + 1]返回生成数组nums中的最大值。示例 1:输入:n = 7输出:3解释:根据规则: nums[0] = 0 ...原创 2021-08-23 09:06:59 · 104 阅读 · 0 评论 -
5850. 找出数组的最大公约数
给你一个整数数组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:输入:num...原创 2021-08-22 12:45:51 · 300 阅读 · 0 评论