leetcode
未读3097. 或值至少为 K 的最短子数组 II中等(LogTrick)给你一个 非负 整数数组 nums 和一个整数 k 。
如果一个数组中所有元素的按位或运算 OR 的值 至少 为 k ,那么我们称这个数组是 特别的 。
请你返回 nums 中 最短特别非空 子数组的长度,如果特别子数组不存在,那么返回 -1 。
示例 1:
输入: nums = [1,2,3], k = 2
输出: 1
解释:
子数组 [3] 的按位 OR 值为 3 ,所以我们返回 1 。
示例 2:
输入: nums = [2,1,8], k = 10
输出: 3
解释:
子数组 [2,1,8] 的按位 OR 值为 11 ,所以我们返回 3 。
示例 3:
输入: nums = [1,2], k = 0
输出: 1
解释:
子数组 [1] 的按位 OR 值为 1 ,所以我们返回 1 。
代码一:暴力枚举超出时间限制 714 / 718 个通过的测试用例
12345 ...
leetcode
未读3066. 超过阈值的最少操作数 II中等(最小堆)给你一个下标从 0 开始的整数数组 nums 和一个整数 k 。
一次操作中,你将执行:
选择 nums 中最小的两个整数 x 和 y 。
将 x 和 y 从 nums 中删除。
将 min(x, y) * 2 + max(x, y) 添加到数组中的任意位置。
注意, 只有当 nums 至少包含两个元素时,你才可以执行以上操作。
你需要使数组中的所有元素都大于或等于 k ,请你返回需要的 最少 操作次数。
示例 1:
输入: nums = [2,11,10,1,3], k = 10输出: 2解释: 第一次操作中,我们删除元素 1 和 2 ,然后添加 1 * 2 + 2 到 nums 中,nums 变为 [4, 11, 10, 3] 。第二次操作中,我们删除元素 3 和 4 ,然后添加 3 * 2 + 4 到 nums 中,nums 变为 [10, 11, 10] 。此时,数组中的所有元素都大于等于 10 ,所以我们停止操作 ...
leetcode
未读2270. 分割数组的方案数中等(前缀和)给你一个下标从 0 开始长度为 n 的整数数组 nums 。如果以下描述为真,那么 nums 在下标 i 处有一个 合法的分割 :
前 i + 1 个元素的和 大于等于 剩下的 n - i - 1 个元素的和。
下标 i 的右边 至少有一个 元素,也就是说下标 i 满足 0 <= i < n - 1 。
请你返回 nums 中的 合法分割 方案数。
示例 1:
输入: nums = [10,4,-8,7]
输出: 2
解释:
总共有 3 种不同的方案可以将 nums 分割成两个非空的部分: - 在下标 0 处分割 nums 。那么第一部分为 [10] ,和为 10 。第二部分为 [4,-8,7] ,和为 3 。因为 10 >= 3 ,所以 i = 0 是一个合法的分割。 - 在下标 1 处分割 nums 。那么第一部分为 [10,4] ,和为 14 。第二部分为 [-8,7] ,和为 -1 。因为 14 >= -1 ,所以 i = 1 是 ...
leetcode
未读2275. 按位与结果大于零的最长组合中等(按位与运算,二进制运算符)对数组 nums 执行 按位与 相当于对数组 nums 中的所有整数执行 按位与 。
例如,对 nums = [1, 5, 3] 来说,按位与等于 1 & 5 & 3 = 1 。
同样,对 nums = [7] 而言,按位与等于 7 。
给你一个正整数数组 candidates 。计算 candidates 中的数字每种组合下 按位与 的结果。
返回按位与结果大于 0 的 最长 组合的长度。
示例 1:
输入: candidates = [16,17,71,62,12,24,14]
输出: 4
解释:
组合 [16,17,62,24] 的按位与结果是 16 & 17 & 62 & 24 = 16 > 0 。组合长度是 4 。
可以证明不存在按位与结果大于 0 且长度大于 4 的组合。
注意,符合长度最大的组合可能不止一种。
例如,组合 [62,12,24,14] 的按位与结果是 62 & ...
3298. 统计重新排列后包含另一个字符串的子字符串数目 II困难(滑动窗口)给你两个字符串 word1 和 word2 。
如果一个字符串 x 重新排列后,word2 是重排字符串的 前缀 ,那么我们称字符串 x 是 合法的 。
请你返回 word1 中 合法 子字符串 的数目。
注意 ,这个问题中的内存限制比其他题目要 小 ,所以你 必须 实现一个线性复杂度的解法。
示例 1:
输入:word1 = “bcca”, word2 = “abc”
输出:1
解释:
唯一合法的子字符串是 "bcca" ,可以重新排列得到 "abcc" ,"abc" 是它的前缀。
示例 2:
输入:word1 = “abcabc”, word2 = “abc”
输出:10
解释:
除了长度为 1 和 2 的所有子字符串都是合法的。
示例 3:
输入:word1 = “abcabc”, word2 = “aaabc”
输出:0
代码一:来自灵神(可通过leetcode3297) ...
Welcome to Hexo! This is your very first post. Check documentation for more info. If you get any problems when using Hexo, you can find the answer in troubleshooting or you can ask me on GitHub.
Quick StartCreate a new post1$ hexo new "My New Post"
More info: Writing
Run server1$ hexo server
More info: Server
Generate static files1$ hexo generate
More info: Generating
Deploy to remote sites1$ hexo deploy
More info: Deployment





