力扣第134场双周赛压轴题:子数组按位与值为K的数目
题目描述
给你一个整数数组
子数组是数组中连续的非空元素序列。
数据范围
解题思路
定义如下数组
map<int,int> dp[]
考虑
- ...
由于
代码实现
long long countSubarrays(vector<int> &nums, int k) {
long long res = 0;
unordered_map<int, int> pre;
for (auto &num: nums) {
unordered_map<int, int> cur = {{num, 1}};
// num[i]本身值为k
if (num == k)res++;
// 由pre得到cur
for (auto &[r, m]: pre) {
int t = r & num;
cur[t] += m;
if (t == k)res += m;
}
pre = cur;
}
return res;
}
时间复杂度:
空间复杂度:
END
文章文档:公众号 字节幺零二四
回复关键字可获取本文文档。
题目来源:力扣第134场双周赛T4:子数组按位与值为K的数目
文章声明:题目来源 力扣 平台,如有侵权,请联系删除!
【推荐】AI 的力量,开发者的翅膀:欢迎使用 AI 原生开发工具 TRAE
【推荐】2025 HarmonyOS 鸿蒙创新赛正式启动,百万大奖等你挑战
【推荐】博客园的心动:当一群程序员决定开源共建一个真诚相亲平台
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何正确实现一个 BackgroundService
· 抽象与性能:从 LINQ 看现代 .NET 的优化之道
· AI 时代,为什么我们还有必要写博客?
· 行业思考:不是前端不行,是只会前端不行
· C#高级GDI+实战:从零开发一个流程图
· 记一次酣畅淋漓的js逆向
· 一个被BCL遗忘的高性能集合:C# CircularBuffer<T>深度解析
· 上周热点回顾(7.28-8.3)
· Trae Plus 让没有编程基础的女朋友也用上了 AI Coding
· 架构师必备:实时对账与离线对账