
力扣简单题目集
不易撞的网名
...
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
617. 合并二叉树
给你两棵二叉树: root1 和 root2 。想象一下,当你将其中一棵覆盖到另一棵之上时,两棵树上的一些节点将会重叠(而另一些不会)。你需要将这两棵树合并成一棵新二叉树。合并的规则是:如果两个节点重叠,那么将这两个节点的值相加作为合并后节点的新值;否则,不为 null 的节点将直接作为新二叉树的节点。返回合并后的二叉树。注意: 合并过程必须从两个树的根节点开始。示例 1:输入:root1 = [1,3,2,5], root2 = [2,1,3,null,4,null,7]输出:[3,4,5原创 2022-04-27 16:37:56 · 213 阅读 · 0 评论 -
1748. 唯一元素的和
给你一个整数数组 nums 。数组中唯一元素是那些只出现 恰好一次 的元素。请你返回 nums 中唯一元素的 和 。示例 1:输入:nums = [1,2,3,2]输出:4解释:唯一元素为 [1,3] ,和为 4 。示例 2:输入:nums = [1,1,1,1,1]输出:0解释:没有唯一元素,和为 0 。示例 3 :输入:nums = [1,2,3,4,5]输出:15解释:唯一元素为 [1,2,3,4,5] ,和为 15 。完整代码class Solution {原创 2022-04-27 16:17:27 · 270 阅读 · 0 评论 -
1370. 上升下降字符串
给你一个字符串 s ,请你根据下面的算法重新构造字符串:从 s 中选出 最小 的字符,将它 接在 结果字符串的后面。从 s 剩余字符中选出 最小 的字符,且该字符比上一个添加的字符大,将它 接在 结果字符串后面。重复步骤 2 ,直到你没法从 s 中选择字符。从 s 中选出 最大 的字符,将它 接在 结果字符串的后面。从 s 剩余字符中选出 最大 的字符,且该字符比上一个添加的字符小,将它 接在 结果字符串后面。重复步骤 5 ,直到你没法从 s 中选择字符。重复步骤 1 到 6 ,直到 s 中所原创 2022-04-27 15:59:01 · 165 阅读 · 0 评论 -
2108. 找出数组中的第一个回文字符串
给你一个字符串数组 words ,找出并返回数组中的 第一个回文字符串 。如果不存在满足要求的字符串,返回一个 空字符串 “” 。回文字符串 的定义为:如果一个字符串正着读和反着读一样,那么该字符串就是一个 回文字符串 。示例 1:输入:words = ["abc","car","ada","racecar","cool"]输出:"ada"解释:第一个回文字符串是 "ada" 。注意,"racecar" 也是回文字符串,但它不是第一个。示例 2:输入:words = ["notapalin原创 2022-04-21 15:59:35 · 223 阅读 · 0 评论 -
2185. 统计包含给定前缀的字符串
给你一个字符串数组 words 和一个字符串 pref 。返回 words 中以 pref 作为 前缀 的字符串的数目。字符串 s 的 前缀 就是 s 的任一前导连续字符串。示例 1:输入:words = ["pay","attention","practice","attend"], pref = "at"输出:2解释:以 "at" 作为前缀的字符串有两个,分别是:"attention" 和 "attend" 。示例 2:输入:words = ["leetcode","win","lo原创 2022-04-21 15:37:48 · 434 阅读 · 0 评论 -
1844. 将所有数字用字符替换
给你一个下标从 0 开始的字符串 s ,它的 偶数 下标处为小写英文字母,奇数 下标处为数字。定义一个函数 shift(c, x) ,其中 c 是一个字符且 x 是一个数字,函数返回字母表中 c 后面第 x 个字符。比方说,shift(‘a’, 5) = ‘f’ 和 shift(‘x’, 0) = ‘x’ 。对于每个 奇数 下标 i ,你需要将数字 s[i] 用 shift(s[i-1], s[i]) 替换。请你替换所有数字以后,将字符串 s 返回。题目 保证 shift(s[i-1], s[i])原创 2022-04-20 11:42:59 · 240 阅读 · 0 评论 -
832. 翻转图像
给定一个 n x n 的二进制矩阵 image ,先 水平 翻转图像,然后 反转 图像并返回 结果 。水平翻转图片就是将图片的每一行都进行翻转,即逆序。例如,水平翻转 [1,1,0] 的结果是 [0,1,1]。反转图片的意思是图片中的 0 全部被 1 替换, 1 全部被 0 替换。例如,反转 [0,1,1] 的结果是 [1,0,0]。示例 1:输入:image = [[1,1,0],[1,0,1],[0,0,0]]输出:[[1,0,0],[0,1,0],[1,1,1]]解释:首先翻转每一行:原创 2022-04-20 11:26:27 · 200 阅读 · 0 评论 -
LCP 44. 开幕式焰火
「力扣挑战赛」开幕式开始了,空中绽放了一颗二叉树形的巨型焰火。给定一棵二叉树 root 代表焰火,节点值表示巨型焰火这一位置的颜色种类。请帮小扣计算巨型焰火有多少种不同的颜色。示例 1:输入:root = [1,3,2,1,null,2]输出:3解释:焰火中有 3 个不同的颜色,值分别为 1、2、3示例 2:输入:root = [3,3,3]输出:1解释:焰火中仅出现 1 个颜色,值为 3提示:1 <= 节点个数 <= 10001 <= Node.val原创 2022-04-20 10:52:54 · 320 阅读 · 0 评论 -
2000. 反转单词前缀
给你一个下标从 0 开始的字符串 word 和一个字符 ch 。找出 ch 第一次出现的下标 i ,反转 word 中从下标 0 开始、直到下标 i 结束(含下标 i )的那段字符。如果 word 中不存在字符 ch ,则无需进行任何操作。例如,如果 word = “abcdefd” 且 ch = “d” ,那么你应该 反转 从下标 0 开始、直到下标 3 结束(含下标 3 )。结果字符串将会是 “dcbaefd” 。返回 结果字符串 。示例 1:输入:word = "abcdefd", ch =原创 2022-04-19 09:31:56 · 294 阅读 · 1 评论 -
1837. K 进制表示下的各位数字总和
给你一个整数 n(10 进制)和一个基数 k ,请你将 n 从 10 进制表示转换为 k 进制表示,计算并返回转换后各位数字的 总和 。转换后,各位数字应当视作是 10 进制数字,且它们的总和也应当按 10 进制表示返回。示例 1:输入:n = 34, k = 6输出:9解释:34 (10 进制) 在 6 进制下表示为 54 。5 + 4 = 9 。示例 2:输入:n = 10, k = 10输出:1解释:n 本身就是 10 进制。 1 + 0 = 1 。提示:1 <= n原创 2022-04-19 09:20:46 · 249 阅读 · 0 评论 -
2103. 环和杆
总计有 n 个环,环的颜色可以是红、绿、蓝中的一种。这些环分布穿在 10 根编号为 0 到 9 的杆上。给你一个长度为 2n 的字符串 rings ,表示这 n 个环在杆上的分布。rings 中每两个字符形成一个 颜色位置对 ,用于描述每个环:第 i 对中的 第一个 字符表示第 i 个环的 颜色(‘R’、‘G’、‘B’)。第 i 对中的 第二个 字符表示第 i 个环的 位置,也就是位于哪根杆上(‘0’ 到 ‘9’)。例如,“R3G2B1” 表示:共有 n == 3 个环,红色的环在编号为 3 的杆上原创 2022-04-19 08:46:50 · 217 阅读 · 0 评论 -
1295. 统计位数为偶数的数字
给你一个整数数组 nums,请你返回其中位数为 偶数 的数字的个数。示例 1:输入:nums = [12,345,2,6,7896]输出:2解释:12 是 2 位数字(位数为偶数) 345 是 3 位数字(位数为奇数) 2 是 1 位数字(位数为奇数) 6 是 1 位数字 位数为奇数) 7896 是 4 位数字(位数为偶数) 因此只有 12 和 7896 是位数为偶数的数字示例 2:输入:nums = [555,901,482,1771]输出:1 解释: 只有 1771原创 2022-04-17 09:54:41 · 537 阅读 · 0 评论 -
1290. 二进制链表转整数
给你一个单链表的引用结点 head。链表中每个结点的值不是 0 就是 1。已知此链表是一个整数数字的二进制表示形式。请你返回该链表所表示数字的 十进制值 。示例 1:输入:head = [1,0,1]输出:5解释:二进制数 (101) 转化为十进制数 (5)示例 2:输入:head = [0]输出:0示例 3:输入:head = [1]输出:1示例 4:输入:head = [1,0,0,1,0,0,1,1,1,0,0,0,0,0,0]输出:18880示例 5:输原创 2022-04-17 09:37:32 · 172 阅读 · 0 评论 -
2176. 统计数组中相等且可以被整除的数对
给你一个下标从 0 开始长度为 n 的整数数组 nums 和一个整数 k ,请你返回满足 0 <= i < j < n ,nums[i] == nums[j] 且 (i * j) 能被 k 整除的数对 (i, j) 的 数目 。示例 1:输入:nums = [3,1,2,2,2,1,3], k = 2输出:4解释:总共有 4 对数符合所有要求:- nums[0] == nums[6] 且 0 * 6 == 0 ,能被 2 整除。- nums[2] == nums[3] 且原创 2022-04-17 09:32:22 · 473 阅读 · 0 评论 -
819. 最常见的单词
给定一个段落 (paragraph) 和一个禁用单词列表 (banned)。返回出现次数最多,同时不在禁用列表中的单词。题目保证至少有一个词不在禁用列表中,而且答案唯一。禁用列表中的单词用小写字母表示,不含标点符号。段落中的单词不区分大小写。答案都是小写字母。示例:输入: paragraph = "Bob hit a ball, the hit BALL flew far after it was hit."banned = ["hit"]输出: "ball"解释: "hit" 出现了3原创 2022-04-17 09:21:03 · 270 阅读 · 0 评论 -
2089. 找出数组排序后的目标下标
给你一个下标从 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] == 2 的下标是 1原创 2022-04-13 11:18:46 · 398 阅读 · 0 评论 -
461. 汉明距离
两个整数之间的 汉明距离 指的是这两个数字对应二进制位不同的位置的数目。给你两个整数 x 和 y,计算并返回它们之间的汉明距离。示例 1:输入:x = 1, y = 4输出:2解释:1 (0 0 0 1)4 (0 1 0 0) ↑ ↑上面的箭头指出了对应二进制位不同的位置。示例 2:输入:x = 3, y = 1输出:1提示:0 <= x, y <= 231 - 1这道题目我们将x与y进行异或,异或后有多少个1就是我们所要求的“汉明距离”原创 2022-04-13 11:07:50 · 355 阅读 · 0 评论 -
938. 二叉搜索树的范围和
给定二叉搜索树的根结点 root,返回值位于范围 [low, high] 之间的所有结点的值的和。示例 1:输入:root = [10,5,15,3,7,null,18], low = 7, high = 15输出:32示例 2:输入:root = [10,5,15,3,7,13,18,1,null,6], low = 6, high = 10输出:23提示:树中节点数目在范围 [1, 2 * 104] 内1 <= Node.val <= 1051 <= low原创 2022-04-12 08:58:07 · 178 阅读 · 1 评论 -
2236. 判断根结点是否等于子结点之和
给你一个 二叉树 的根结点 root,该二叉树由恰好 3 个结点组成:根结点、左子结点和右子结点。如果根结点值等于两个子结点值之和,返回 true ,否则返回 false 。示例 1:输入:root = [10,4,6]输出:true解释:根结点、左子结点和右子结点的值分别是 10 、4 和 6 。由于 10 等于 4 + 6 ,因此返回 true 。示例 2:输入:root = [5,3,1]输出:false解释:根结点、左子结点和右子结点的值分别是 5 、3 和 1 。由于原创 2022-04-12 08:38:27 · 993 阅读 · 0 评论 -
806. 写字符串需要的行数
我们要把给定的字符串 S 从左到右写到每一行上,每一行的最大宽度为100个单位,如果我们在写某个字母的时候会使这行超过了100 个单位,那么我们应该把这个字母写到下一行。我们给定了一个数组 widths ,这个数组 widths[0] 代表 ‘a’ 需要的单位, widths[1] 代表 ‘b’ 需要的单位,…, widths[25] 代表 ‘z’ 需要的单位。现在回答两个问题:至少多少行能放下S,以及最后一行使用的宽度是多少个单位?将你的答案作为长度为2的整数列表返回。示例 1:输入: width原创 2022-04-12 08:24:14 · 201 阅读 · 0 评论 -
804. 唯一摩尔斯密码词
国际摩尔斯密码定义一种标准编码方式,将每个字母对应于一个由一系列点和短线组成的字符串, 比如:‘a’ 对应 “.-” ,‘b’ 对应 “-…” ,‘c’ 对应 “-.-.” ,以此类推。为了方便,所有 26 个英文字母的摩尔斯密码表如下:[“.-”,“-…”,“-.-.”,“-…”,“.”,“…-.”,“–.”,“…”,“…”,“.—”,“-.-”,“.-…”,“–”,“-.”,“—”,“.–.”,“–.-”,“.-.”,“…”,“-”,“…-”,“…-”,“.–”,“-…-”,“-.–”,“–…原创 2022-04-10 16:45:24 · 418 阅读 · 0 评论 -
2220. 转换数字的最少位翻转次数
一次 位翻转 定义为将数字 x 二进制中的一个位进行 翻转 操作,即将 0 变成 1 ,或者将 1 变成 0 。比方说,x = 7 ,二进制表示为 111 ,我们可以选择任意一个位(包含没有显示的前导 0 )并进行翻转。比方说我们可以翻转最右边一位得到 110 ,或者翻转右边起第二位得到 101 ,或者翻转右边起第五位(这一位是前导 0 )得到 10111 等等。给你两个整数 start 和 goal ,请你返回将 start 转变成 goal 的 最少位翻转 次数。示例 1:输入:start =原创 2022-04-10 16:25:30 · 263 阅读 · 0 评论 -
1436. 旅行终点站
给你一份旅游线路图,该线路图中的旅行线路用数组 paths 表示,其中 paths[i] = [cityAi, cityBi] 表示该线路将会从 cityAi 直接前往 cityBi 。请你找出这次旅行的终点站,即没有任何可以通往其他城市的线路的城市。题目数据保证线路图会形成一条不存在循环的线路,因此恰有一个旅行终点站。示例 1:输入:paths = [["London","New York"],["New York","Lima"],["Lima","Sao Paulo"]]输出:"Sao Pau原创 2022-04-06 11:36:46 · 218 阅读 · 0 评论 -
1832. 判断句子是否为全字母句
全字母句 指包含英语字母表中每个字母至少一次的句子。给你一个仅由小写英文字母组成的字符串 sentence ,请你判断 sentence 是否为 全字母句 。如果是,返回 true ;否则,返回 false 。示例 1:输入:sentence = "thequickbrownfoxjumpsoverthelazydog"输出:true解释:sentence 包含英语字母表中每个字母至少一次。示例 2:输入:sentence = "leetcode"输出:false 提示:1 &l原创 2022-04-06 10:41:21 · 446 阅读 · 0 评论 -
2037. 使每位学生都有座位的最少移动次数
一个房间里有 n 个座位和 n 名学生,房间用一个数轴表示。给你一个长度为 n 的数组 seats ,其中 seats[i] 是第 i 个座位的位置。同时给你一个长度为 n 的数组 students ,其中 students[j] 是第 j 位学生的位置。你可以执行以下操作任意次:增加或者减少第 i 位学生的位置,每次变化量为 1 (也就是将第 i 位学生从位置 x 移动到 x + 1 或者 x - 1)请你返回使所有学生都有座位坐的 最少移动次数 ,并确保没有两位学生的座位相同。请注意,初始时有可原创 2022-04-03 10:34:38 · 211 阅读 · 0 评论 -
1365. 有多少小于当前数字的数字
给你一个数组 nums,对于其中每个元素 nums[i],请你统计数组中比它小的所有数字的数目。换而言之,对于每个 nums[i] 你必须计算出有效的 j 的数量,其中 j 满足 j != i 且 nums[j] < nums[i] 。以数组形式返回答案。示例 1:输入:nums = [8,1,2,2,3]输出:[4,0,1,1,3]解释: 对于 nums[0]=8 存在四个比它小的数字:(1,2,2 和 3)。 对于 nums[1]=1 不存在比它小的数字。对于 nums[2]=2原创 2022-04-03 10:17:24 · 176 阅读 · 0 评论 -
1684. 统计一致字符串的数目
给你一个由不同字符组成的字符串 allowed 和一个字符串数组 words 。如果一个字符串的每一个字符都在 allowed 中,就称这个字符串是 一致字符串 。请你返回 words 数组中 一致字符串 的数目。示例 1:输入:allowed = "ab", words = ["ad","bd","aaab","baa","badab"]输出:2解释:字符串 "aaab" 和 "baa" 都是一致字符串,因为它们只包含字符 'a' 和 'b' 。示例 2:输入:allowed = "abc原创 2022-04-03 10:09:53 · 182 阅读 · 0 评论 -
1266. 访问所有点的最小时间
访问所有点的最小时间平面上有 n 个点,点的位置用整数坐标表示 points[i] = [xi, yi] 。请你计算访问所有这些点需要的 最小时间(以秒为单位)。你需要按照下面的规则在平面上移动:每一秒内,你可以:沿水平方向移动一个单位长度,或者沿竖直方向移动一个单位长度,或者跨过对角线移动 sqrt(2) 个单位长度(可以看作在一秒内向水平和竖直方向各移动一个单位长度)。必须按照数组中出现的顺序来访问这些点。在访问某个点时,可以经过该点后面出现的点,但经过的那些点不算作有效访问。示例.原创 2022-04-01 11:55:40 · 456 阅读 · 0 评论 -
1913. 两个数对之间的最大乘积差
两个数对 (a, b) 和 (c, d) 之间的 乘积差 定义为 (a * b) - (c * d) 。例如,(5, 6) 和 (2, 7) 之间的乘积差是 (5 * 6) - (2 * 7) = 16 。给你一个整数数组 nums ,选出四个 不同的 下标 w、x、y 和 z ,使数对 (nums[w], nums[x]) 和 (nums[y], nums[z]) 之间的 乘积差 取到 最大值 。返回以这种方式取得的乘积差中的 最大值 。示例 1:输入:nums = [5,6,2,7,4]输出原创 2022-04-01 11:22:35 · 408 阅读 · 1 评论 -
1342. 将数字变成 0 的操作次数
给你一个非负整数 num ,请你返回将它变成 0 所需要的步数。 如果当前数字是偶数,你需要把它除以 2 ;否则,减去 1 。示例 1:输入:num = 14输出:6解释:步骤 1) 14 是偶数,除以 2 得到 7 。步骤 2) 7 是奇数,减 1 得到 6 。步骤 3) 6 是偶数,除以 2 得到 3 。步骤 4) 3 是奇数,减 1 得到 2 。步骤 5) 2 是偶数,除以 2 得到 1 。步骤 6) 1 是奇数,减 1 得到 0 。示例 2:输入:num = 8输出:4原创 2022-04-01 11:03:15 · 405 阅读 · 1 评论 -
1678. 设计 Goal 解析器
请你设计一个可以解释字符串 command 的 Goal 解析器 。command 由 “G”、"()" 和/或 “(al)” 按某种顺序组成。Goal 解析器会将 “G” 解释为字符串 “G”、"()" 解释为字符串 “o” ,"(al)" 解释为字符串 “al” 。然后,按原顺序将经解释得到的字符串连接成一个字符串。给你字符串 command ,返回 Goal 解析器 对 command 的解释结果。示例 1:输入:command = "G()(al)"输出:"Goal"解释:Goal 解析器原创 2022-04-01 10:57:10 · 249 阅读 · 1 评论 -
1389. 按既定顺序创建目标数组
给你两个整数数组 nums 和 index。你需要按照以下规则创建目标数组:目标数组 target 最初为空。按从左到右的顺序依次读取 nums[i] 和 index[i],在 target 数组中的下标 index[i] 处插入值 nums[i] 。重复上一步,直到在 nums 和 index 中都没有要读取的元素。请你返回目标数组。题目保证数字插入位置总是存在。示例 1:输入:nums = [0,1,2,3,4], index = [0,1,2,2,1]输出:[0,4,1,3,2]解释原创 2022-03-31 19:45:46 · 141 阅读 · 1 评论 -
1281. 整数的各位积和之差
给你一个整数 n,请你帮忙计算并返回该整数「各位数字之积」与「各位数字之和」的差。示例 1:输入:n = 234输出:15 解释:各位数之积 = 2 * 3 * 4 = 24 各位数之和 = 2 + 3 + 4 = 9 结果 = 24 - 9 = 15示例 2:输入:n = 4421输出:21解释: 各位数之积 = 4 * 4 * 2 * 1 = 32 各位数之和 = 4 + 4 + 2 + 1 = 11 结果 = 32 - 11 = 21 完整代码class Solu原创 2022-03-30 12:24:52 · 494 阅读 · 0 评论 -
1313. 解压缩编码列表
给你一个以行程长度编码压缩的整数列表 nums 。考虑每对相邻的两个元素 [freq, val] = [nums[2i], nums[2i+1]] (其中 i >= 0 ),每一对都表示解压后子列表中有 freq 个值为 val 的元素,你需要从左到右连接所有子列表以生成解压后的列表。请你返回解压后的列表。示例 1:输入:nums = [1,2,3,4]输出:[2,4,4,4]解释:第一对 [1,2] 代表着 2 的出现频次为 1,所以生成数组 [2]。第二对 [3,4] 代表着 4 的原创 2022-03-30 12:23:37 · 155 阅读 · 0 评论 -
剑指 Offer II 042. 最近请求次数【队列方法】
写一个 RecentCounter 类来计算特定时间范围内最近的请求。请实现 RecentCounter 类:RecentCounter() 初始化计数器,请求数为 0 。int ping(int t) 在时间 t 添加一个新请求,其中 t 表示以毫秒为单位的某个时间,并返回过去 3000 毫秒内发生的所有请求数(包括新请求)。确切地说,返回在 [t-3000, t] 内发生的请求数。保证 每次对 ping 的调用都使用比之前更大的 t 值。示例:输入:inputs = ["RecentCou原创 2022-03-29 19:39:53 · 165 阅读 · 0 评论 -
1725. 可以形成最大正方形的矩形数目
给你一个数组 rectangles ,其中 rectangles[i] = [li, wi] 表示第 i 个矩形的长度为 li 、宽度为 wi 。如果存在 k 同时满足 k <= li 和 k <= wi ,就可以将第 i 个矩形切成边长为 k 的正方形。例如,矩形 [4,6] 可以切成边长最大为 4 的正方形。设 maxLen 为可以从矩形数组 rectangles 切分得到的 最大正方形 的边长。请你统计有多少个矩形能够切出边长为 maxLen 的正方形,并返回矩形 数目 。示例 1原创 2022-03-28 11:07:46 · 164 阅读 · 0 评论 -
1108. IP 地址无效化
给你一个有效的 IPv4 地址 address,返回这个 IP 地址的无效化版本。所谓无效化 IP 地址,其实就是用 “[.]” 代替了每个 “.”。示例 1:输入:address = "1.1.1.1"输出:"1[.]1[.]1[.]1"示例 2:输入:address = "255.100.50.0"输出:"255[.]100[.]50[.]0"提示:给出的 address 是一个有效的 IPv4 地址这道题我们首先可以先求出题目给我们的字符串的长度,再创建一个进行接收的新字符串a原创 2022-03-28 10:43:48 · 454 阅读 · 0 评论 -
前缀和: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 + 5 +原创 2022-03-28 00:49:03 · 142 阅读 · 0 评论 -
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 + 5 +原创 2022-03-28 00:36:56 · 233 阅读 · 0 评论 -
LCP 06. 拿硬币
桌上有 n 堆力扣币,每堆的数量保存在数组 coins 中。我们每次可以选择任意一堆,拿走其中的一枚或者两枚,求拿完所有力扣币的最少次数。示例 1:输入:[4,2,1]输出:4解释:第一堆力扣币最少需要拿 2 次,第二堆最少需要拿 1 次,第三堆最少需要拿 1 次,总共 4 次即可拿完。示例 2:输入:[2,3,10]输出:8限制:1 <= n <= 41 <= coins[i] <= 10这道题目,首先如果数组中的某一个数值为偶数那么我们直接将这个原创 2022-03-27 17:09:00 · 262 阅读 · 0 评论