news 2026/4/23 10:47:11

☆ 异或和|倒数第二步

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
☆ 异或和|倒数第二步

lc2505

遍历数组累加前缀和,不断将当前数和前缀和与结果做或运算

最终得到所有子序列和的或值

算所有子序列和的或值,只需看每个二进制位是否能被“激活”:子序列和的任意二进制位为1,必然对应

1.“单个元素”

2.或“某个前缀和”的该位为1(前缀和覆盖了所有长于1的子序列和的位贡献可能)

class Solution {

public:
long long subsequenceSumOr(vector<int>& nums) {
long long sumOr = 0, prefixSum = 0;
for (int num : nums) {
prefixSum += num;
sumOr |= num;
sumOr |= prefixSum;
}
return sumOr;
}
};

lc2083

class Solution {
typedef long long ll;
public:
long long numberOfSubstrings(string s) {
ll ret=0;
unordered_map<char,int> hash;
for(auto& c:s)
hash[c]++;
for(auto& [a,b]:hash)
{
ret+=b*(ll)(b+1)/2;
}
return ret;
}
};

lc1072

hash

把每行转化为“与首元素(基准)的异或模式串”

统计出现次数最多的模式,其次数就是可得到的最多相等行数

class Solution {

public:
int maxEqualRowsAfterFlips(vector<vector<int>> &matrix) {
int ans = 0, n = matrix[0].size();
unordered_map<string, int> cnt;
for (auto &row: matrix) {
string r(n, 0);
for (int j = 0; j < n; ++j)
r[j] = row[j] ^ row[0]; // 翻转第一个数为 1 的行
ans = max(ans, ++cnt[r]);
}
return ans;
}
};

喵喵优化

vector<bool> 替代字符串存模式(更省内存,因为 vector<bool> 是比特级存储)

加 move(t) 避免vector拷贝(直接转移内存所有权)

逻辑上通过“首元素为1时翻转整行”统一模式,统计重复最多的模式数——本质是把“可通过列翻转变成相同的行”归为同一类,次数最多的类就是答案。

class Solution {
public:
int maxEqualRowsAfterFlips(const vector<vector<int>>& matrix) {
unordered_map<vector<bool>, int> cnt;
int ans = 0;
for (const auto& e : matrix) {
vector<bool> t(e.begin(), e.end());
if (e[0]) t.flip();
ans = max(ans, ++cnt[move(t)]);
}
return ans;
}
};

lc2128

与行首异或

记录每行状态

微调 true即同模式

class Solution {

public:

bool removeOnes(vector<vector<int>>& grid)

{

int n = grid[0].size();

unordered_map<string, int> hash;

for (auto &row: grid) {

string r(n, 0);

for (int j = 0; j < n; ++j)

r[j] = row[j] ^ row[0];

++hash[r];

}

return hash.size()==1;

}

};

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/17 8:22:05

昇腾NPU部署GPT-OSS-20B MoE模型实践

昇腾NPU部署GPT-OSS-20B MoE模型实践&#xff1a;从环境配置到推理优化的完整指南 在当前大模型加速向边缘端下沉的趋势下&#xff0c;如何在有限算力资源上实现高质量、低延迟的语言生成&#xff0c;已成为开发者关注的核心命题。尤其是在国产化AI硬件生态逐步成熟的背景下&a…

作者头像 李华
网站建设 2026/4/22 2:18:24

NPM安装PM2守护进程管理TensorRT服务

使用PM2守护TensorRT推理服务的完整实践 在AI模型从实验室走向生产环境的过程中&#xff0c;一个常见的挑战是&#xff1a;如何在保证极致推理性能的同时&#xff0c;实现服务的高可用与易维护&#xff1f;尤其是在边缘计算或云端微服务架构中&#xff0c;哪怕一次短暂的服务中…

作者头像 李华
网站建设 2026/4/19 23:03:59

Notepad++意外关闭临时文件

意外关机&#xff0c;点了个取消&#xff0c;然后所有临时文件都找不到了&#xff0c;记录下。 可能存在的目录地址&#xff1a;%USERPROFILE%\AppData\Local\Temp\NotepadC:\Windows\Temp\NotepadC:\Users\Frank.Li\AppData\Roaming\Notepad\backup我的找到了&#xff0c;祝您…

作者头像 李华
网站建设 2026/4/21 9:06:15

Diskinfo下载官网工具分析TensorRT存储瓶颈

Diskinfo下载官网工具分析TensorRT存储瓶颈 在构建高性能AI推理系统时&#xff0c;开发者往往将注意力集中在计算优化上&#xff1a;模型是否用了TensorRT&#xff1f;有没有开启FP16或INT8&#xff1f;卷积层融合了吗&#xff1f;这些确实是关键问题。但一个常被忽视的现实是—…

作者头像 李华
网站建设 2026/4/23 5:05:44

Qwen-Image-Edit-2509能上手机吗?云端+端侧全解析

Qwen-Image-Edit-2509 能上手机吗&#xff1f;云端与端侧的融合演进 你有没有过这种体验&#xff1a;在地铁上刷社交媒体&#xff0c;突然看到一张照片&#xff0c;脑海里立刻浮现出“如果背景换成海边、加点阳光滤镜&#xff0c;绝对更出片”——可一想到要打开修图软件、手动…

作者头像 李华
网站建设 2026/4/18 5:19:50

LobeChat能否实现API错误诊断?开发者调试加速器

LobeChat能否实现API错误诊断&#xff1f;开发者调试加速器 在AI应用开发的日常中&#xff0c;一个看似简单的问题常常耗费数小时&#xff1a;为什么我的模型API调用失败了&#xff1f; 是密钥错了&#xff1f;URL拼写有误&#xff1f;还是请求体格式不符合文档要求&#xff…

作者头像 李华