Keshawn_lu's Blog

Keshawn_lu's Blog

Become a better myself.

Leetcode 1780. 判断一个数字是否可以表示成三的幂的和
题目简介:给你一个整数 n ,如果你可以将 n 表示成若干个不同的三的幂之和,请你返回 true ,否则请返回 false 。 对于一个整数 y ,如果存在整数 x 满足 y == 3x ,我们称这个整数 y 是三的幂。 示例 1: 123输入:n = 12输出:true解释:12 = 31 + 32 示例 2: 12输入:n = 21输出:false 思路:只需要判断该数字的三进制是否只有1, 0构成即可。 代码如下:123456789101112131415class Solution {public: bool checkPowersOfThree(int n) &...
Leetcode 1775. 通过最少操作次数使数组的和相等
题目简介:给你两个长度可能不等的整数数组 nums1 和 nums2 。两个数组中的所有值都在 1 到 6 之间(包含 1 和 6)。 每次操作中,你可以选择 任意 数组中的任意一个整数,将它变成 1 到 6 之间 任意 的值(包含 1 和 6)。 请你返回使 nums1 中所有数的和与 nums2 中所有数的和相等的最少操作次数。如果无法使两个数组的和相等,请返回 -1 。 示例 1: 123456输入:nums1 = [1,2,3,4,5,6], nums2 = [1,1,2,2,2,2]输出:3解释:你可以通过 3 次操作使 nums1 中所有数的和与 nums2 中所有数的和相等...
Leetcode 1805. 字符串中不同整数的数目
题目简介:给你一个字符串 word ,该字符串由数字和小写英文字母组成。 请你用空格替换每个不是数字的字符。例如,"a123bc34d8ef34" 将会变成 " 123 34 8 34" 。注意,剩下的这些整数为(相邻彼此至少有一个空格隔开):"123"、"34"、"8" 和 "34" 。 返回对 word 完成替换后形成的 不同 整数的数目。 只有当两个整数的 不含前导零 的十进制表示不同, 才认为这两个整数也不同。 示例 1: 123输入:word = "...
Leetcode 1774. 最接近目标价格的甜点成本
题目简介:你打算做甜点,现在需要购买配料。目前共有 n 种冰激凌基料和 m 种配料可供选购。而制作甜点需要遵循以下几条规则: 必须选择 一种 冰激凌基料。 可以添加 一种或多种 配料,也可以不添加任何配料。 每种类型的配料 最多两份 。 给你以下三个输入: baseCosts ,一个长度为 n 的整数数组,其中每个 baseCosts[i] 表示第 i 种冰激凌基料的价格。 toppingCosts,一个长度为 m 的整数数组,其中每个 toppingCosts[i] 表示 一份 第 i 种冰激凌配料的价格。 target ,一个整数,表示你制作甜点的目标价格。 你希望自己做的甜...
Leetcode 1769. 移动所有球到每个盒子所需的最小操作数
题目简介:有 n 个盒子。给你一个长度为 n 的二进制字符串 boxes ,其中 boxes[i] 的值为 '0' 表示第 i 个盒子是 空 的,而boxes[i] 的值为 '1' 表示盒子里有 一个 小球。 在一步操作中,你可以将 一个 小球从某个盒子移动到一个与之相邻的盒子中。第 i 个盒子和第 j 个盒子相邻需满足 abs(i - j) == 1 。注意,操作执行后,某些盒子中可能会存在不止一个小球。 返回一个长度为 n 的数组 answer ,其中 answer[i] 是将所有小球移动到第 i 个盒子所需的 最小 操作数。 每个 answer[i]...
Leetcode 895. 最大频率栈
题目简介:设计一个类似堆栈的数据结构,将元素推入堆栈,并从堆栈中弹出出现频率最高的元素。 实现 FreqStack 类: FreqStack() 构造一个空的堆栈。 void push(int val) 将一个整数 val 压入栈顶。 int pop() 删除并返回堆栈中出现频率最高的元素。 如果出现频率最高的元素不只一个,则移除并返回最接近栈顶的元素。 示例 1: 12345678910111213141516输入:["FreqStack","push","push","push","pu...
Leetcode 1758. 生成交替二进制字符串的最少操作数
题目简介:给你一个仅由字符 '0' 和 '1' 组成的字符串 s 。一步操作中,你可以将任一 '0' 变成 '1' ,或者将 '1' 变成 '0' 。 交替字符串 定义为:如果字符串中不存在相邻两个字符相等的情况,那么该字符串就是交替字符串。例如,字符串 "010" 是交替字符串,而字符串 "0100" 不是。 返回使 s 变成 交替字符串 所需的 最少 操作数。 示例 1: 123输入:s = "0100"输出:1解释:如果将最后一...
Leetcode 813. 最大平均值和的分组
题目简介:给定数组 nums 和一个整数 k 。我们将给定的数组 nums 分成 最多 k 个相邻的非空子数组 。 分数 由每个子数组内的平均值的总和构成。 注意我们必须使用 nums 数组中的每一个数进行分组,并且分数不一定需要是整数。 返回我们所能得到的最大 分数 是多少。答案误差在 10-6 内被视为是正确的。 示例 1: 123456输入: nums = [9,1,2,3,9], k = 3输出: 20.00000解释: nums 的最优分组是[9], [1, 2, 3], [9]. 得到的分数是 9 + (1 + 2 + 3) / 3 + 9 = 20. 我们也可以把 nums...
Leetcode 1752. 检查数组是否经排序和轮转得到
题目简介:给你一个数组 nums 。nums 的源数组中,所有元素与 nums 相同,但按非递减顺序排列。 如果 nums 能够由源数组轮转若干位置(包括 0 个位置)得到,则返回 true ;否则,返回 false 。 源数组中可能存在 重复项 。 注意:我们称数组 A 在轮转 x 个位置后得到长度相同的数组 B ,当它们满足 A[i] == B[(i+x) % A.length] ,其中 % 为取余运算。 示例 1: 1234输入:nums = [3,4,5,1,2]输出:true解释:[1,2,3,4,5] 为有序的源数组。可以轮转 x = 3 个位置,使新数组从值为 3 的元素开...
Leetcode 809. 情感丰富的文字
题目简介:有时候人们会用重复写一些字母来表示额外的感受,比如 "hello" -> "heeellooo", "hi" -> "hiii"。我们将相邻字母都相同的一串字符定义为相同字母组,例如:”h”, “eee”, “ll”, “ooo”。 对于一个给定的字符串 S ,如果另一个单词能够通过将一些字母组扩张从而使其和 S 相同,我们将这个单词定义为可扩张的(stretchy)。扩张操作定义如下:选择一个字母组(包含字母 c ),然后往其中添加相同的字母 c 使其长度达到 3 或以上。 例如,以 ...
avatar
鸣蜩十九
Always
友链
CSDN BiliBili