![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
leetcode刷题题解
文章平均质量分 51
Corey James
努力成为技术派,致力于给世界带来微妙且美好的改变
展开
-
LeetCode刷题题解:2706. 购买两块巧克力
如果购买任意两块巧克力都超过了你拥有的钱,请你返回 money。给你一个整数数组 prices ,它表示一个商店里若干巧克力的价格。同时给你一个整数 money ,表示你一开始拥有的钱数。你必须购买 恰好 两块巧克力,而且剩余的钱数必须是 非负数。解释:分别购买价格为 1 和 2 的巧克力。所以我们返回 0。解释:购买任意 2 块巧克力都会超过你拥有的钱数,所以我们返回 3。输入:prices = [1,2,2], money = 3。输入:prices = [3,2,3], money = 3。原创 2023-12-29 09:53:17 · 1002 阅读 · 0 评论 -
LeetCode每日一题(2022-8.18):1224. 最大相等频率
依次遍历数组,假设当前访问的数为 nums[i],对应地更新 count,freq 以及maxFreq。对于长度为 7 的子数组 [2,2,1,1,5,3,3],如果我们从中删去 nums[4] = 5,就可以得到 [2,2,1,1,3,3],里面每个数字都出现了两次。使用哈希表 count 记录数 x 出现的次数 count[x],freq 记录出现次数为 f 的数的数目为 freq[f],maxFreq 表示最大出现次数。......原创 2022-08-18 10:16:42 · 1211 阅读 · 0 评论 -
11. 盛最多水的容器
11. 盛最多水的容器题目: 给定一个长度为 n 的整数数组 height 。有 n 条垂线,第 i 条线的两个端点是 (i, 0) 和 (i, height[i]) 。找出其中的两条线,使得它们与 x 轴共同构成的容器可以容纳最多的水。返回容器可以储存的最大水量。 说明:你不能倾斜容器。示例 1:输入:[1,8,6,2,5,4,8,3,7]原创 2022-04-28 11:58:16 · 106 阅读 · 0 评论 -
905. 按奇偶排序数组
905. 按奇偶排序数组题目: 给你一个整数数组 nums,将 nums 中的的所有偶数元素移动到数组的前面,后跟所有奇数元素。 返回满足此条件的 任一数组 作为答案。示例 1:输入:nums = [3,1,2,4]输出:[2,4,3,1]解释:[4,2,3,1]、[2,4,1,3] 和 [4,2,1,3] 也会被视作正确答案。示例 2:原创 2022-04-28 10:21:06 · 104 阅读 · 0 评论 -
LeetCode刷题题解:440. 字典序的第K小数字
440. 字典序的第K小数字题目:给定整数 n 和 k,返回 [1, n] 中字典序第 k 小的数字。示例1:输入: n = 13, k = 2输出: 10解释: 字典序的排列是 [1, 10, 11, 12, 13, 2, 3, 4, 5, 6, 7, 8, 9],所以第二小的数字是 10。示例2:输入: n = 1, k = 1输出: 1解题思路:计数模拟Java代码:class Solution { public int findKthNumber(int n原创 2022-03-23 14:50:46 · 607 阅读 · 0 评论 -
LeetCode刷题题解:884. 两句话中的不常见单词
884. 两句话中的不常见单词题目: 句子 是一串由空格分隔的单词。每个 单词 仅由小写字母组成。如果某个单词在其中一个句子中恰好出现一次,在另一个句子中却 没有出现 ,那么这个单词就是 不常见的 。给你两个 句子 s1 和 s2 ,返回所有 不常用单词 的列表。返回列表中单词可以按 任意顺序 组织。示例1:输入:s1 = “this apple is sweet”, s2 = “this apple is sour”输出:[“sweet”,“sour”]示例2:输入:s1 = “app原创 2022-01-30 20:29:35 · 880 阅读 · 0 评论 -
LeetCode刷题题解:1332. 删除回文子序列
1332. 删除回文子序列题目: 给你一个字符串 s,它仅由字母 ‘a’ 和 ‘b’ 组成。每一次删除操作都可以从 s 中删除一个回文 子序列。返回删除给定字符串中所有字符(字符串为空)的最小删除次数。「子序列」定义:如果一个字符串可以通过删除原字符串某些字符而不改变原字符顺序得到,那么这个字符串就是原字符串的一个子序列。「回文」定义:如果一个字符串向后和向前读是一致的,那么这个字符串就是一个回文。示例1:输入:s = “ababa”输出:1解释:字符串本身就是回文序列,只需要删除一次。原创 2022-01-22 19:45:38 · 143 阅读 · 0 评论 -
LeetCode刷题题解:2029. 石子游戏 IX
2029. 石子游戏 IX题目: Alice 和 Bob 再次设计了一款新的石子游戏。现有一行 n 个石子,每个石子都有一个关联的数字表示它的价值。给你一个整数数组 stones ,其中 stones[i] 是第 i 个石子的价值。Alice 和 Bob 轮流进行自己的回合,Alice 先手。每一回合,玩家需要从 stones 中移除任一石子。如果玩家移除石子后,导致 所有已移除石子 的价值 总和 可以被 3 整除,那么该玩家就 输掉游戏 。如果不满足上一条,且移除后没有任何剩余的石子,那么 Bo原创 2022-01-20 10:30:07 · 190 阅读 · 0 评论 -
LeetCode刷题题解:219. 存在重复元素 II
219. 存在重复元素 II题目: 给你一个整数数组 nums 和一个整数 k ,判断数组中是否存在两个 不同的索引 i 和 j ,满足 nums[i] == nums[j] 且 abs(i - j) <= k 。如果存在,返回 true ;否则,返回 false 。示例 1:输入:nums = [1,2,3,1], k = 3输出:true示例 2:输入:nums = [1,0,1,1], k = 1输出:true示例 3:输入:nums = [1,2,3,1,2,3],原创 2022-01-19 10:19:22 · 543 阅读 · 0 评论 -
LeetCode刷题题解:747. 至少是其他数字两倍的最大数
好激动啊!!!!!! 用GO语言写算法以来第一次双超100%,啊!啊!啊!啊!啊!!!原创 2022-01-13 20:59:02 · 111 阅读 · 0 评论 -
LeetCode刷题题解:334. 递增的三元子序列
334. 递增的三元子序列题目: 给你一个整数数组 nums ,判断这个数组中是否存在长度为 3 的递增子序列。如果存在这样的三元组下标 (i, j, k) 且满足 i < j < k ,使得 nums[i] < nums[j] < nums[k] ,返回 true ;否则,返回 false 。进阶: 你能实现时间复杂度为 O(n) ,空间复杂度为 O(1) 的解决方案吗?示例1:输入:nums = [1,2,3,4,5]输出:true解释:任何 i < j &l原创 2022-01-12 13:12:35 · 201 阅读 · 0 评论 -
LeetCode刷题题解:1629. 按键持续时间最长的键
1629. 按键持续时间最长的键题目: LeetCode 设计了一款新式键盘,正在测试其可用性。测试人员将会点击一系列键(总计 n 个),每次一个。给你一个长度为 n 的字符串 keysPressed ,其中 keysPressed[i] 表示测试序列中第 i 个被按下的键。releaseTimes 是一个升序排列的列表,其中 releaseTimes[i] 表示松开第 i 个键的时间。字符串和数组的 下标都从 0 开始 。第 0 个键在时间为 0 时被按下,接下来每个键都 恰好 在前一个键松开时被按下原创 2022-01-09 20:47:34 · 125 阅读 · 0 评论 -
LeetCode刷题题解:1576. 替换所有的问号
1576. 替换所有的问号给你一个仅包含小写英文字母和 ‘?’ 字符的字符串 s,请你将所有的 ‘?’ 转换为若干小写字母,使最终的字符串不包含任何 连续重复 的字符。注意:你 不能 修改非 ‘?’ 字符。题目测试用例保证 除 ‘?’ 字符 之外,不存在连续重复的字符。在完成所有转换(可能无需转换)后返回最终的字符串。如果有多个解决方案,请返回其中任何一个。可以证明,在给定的约束条件下,答案总是存在的。示例 1:输入:s = “?zs”输出:“azs”解释:该示例共有 25 种解决方案,从原创 2022-01-05 11:37:08 · 119 阅读 · 0 评论 -
LeetCode刷题题解:495. 提莫攻击
495. 提莫攻击题目: 在《英雄联盟》的世界中,有一个叫 “提莫” 的英雄。他的攻击可以让敌方英雄艾希(编者注:寒冰射手)进入中毒状态。当提莫攻击艾希,艾希的中毒状态正好持续 duration 秒。 正式地讲,提莫在 t 发起发起攻击意味着艾希在时间区间 [t, t + duration - 1](含 t 和 t + duration - 1)处于中毒状态。如果提莫在中毒影原创 2021-11-10 11:10:53 · 5620 阅读 · 1 评论 -
LeetCode刷题题解:575. 分糖果
575. 分糖果题目:给定一个偶数长度的数组,其中不同的数字代表着不同种类的糖果,每一个数字代表一个糖果。你需要把这些糖果平均分给一个弟弟和一个妹妹。返回妹妹可以获得的最大糖果的种类数。实例1:输入: candies = [1,1,2,2,3,3]输出: 3解析: 一共有三种种类的糖果,每一种都有两个。最优分配方案:妹妹获得[1,2,3],弟弟也获得[1,2,3]。这样使妹妹获得糖果的种类数最多。实例2:输入: candies = [1,1,2,3]输出: 2解析: 妹妹获得糖果[原创 2021-11-01 11:21:06 · 142 阅读 · 0 评论 -
LeetCode刷题题解:260. 只出现一次的数字 III
260. 只出现一次的数字 III给定一个整数数组 nums,其中恰好有两个元素只出现一次,其余所有元素均出现两次。 找出只出现一次的那两个元素。你可以按 任意顺序 返回答案。进阶:你的算法应该具有线性时间复杂度。你能否仅使用常数空间复杂度来实现?解题思路:可以采用异或的特征,两数相同(异或为0),两数不同(异或为1)。所以第一遍遍历数组异或上全部元素,得到的答案即为两个只出现一次的元素的异或,可以奖这两个元素的异或结果最右侧的1提取出来(采用取反加1与上自己即可)。有人可能会疑惑,为什么要提取最右原创 2021-10-30 16:36:38 · 3816 阅读 · 1 评论