☰
leetcode 困难题 1835. Find XOR Sum of All Pairs Bitwise AND
2026/9/27 12:33:14 网站建设 项目流程

Problem: 1835. 所有数对按位与结果的异或和

数学题,偶数个相同数字 和 另一个数组的一个数字,AND结果相同也是偶数个,偶数个相同数字的异或结果是0,像【2, 2】和【3】,AND结果都是【1, 1】两者的异或是0,【2,2,2,2】和【10】结果也是0

所以偶数个数字的最终结果AND+XOR都是0,只需要考虑奇数个数字,并且只需要1个就行,偶数个都抵消了

哈希表

Code

class Solution { public: int getXORSum(vector<int>& arr1, vector<int>& arr2) { int n1 = arr1.size(), n2 = arr2.size(); unordered_map<int, int> t1, t2; for(int& i : arr1) t1[i]++; for(int& i : arr2) t2[i]++; int ret = 0; vector<int> tr1, tr2; for(auto& [k, l] : t1) { if((l&1) == 1) tr1.push_back(k); } for(auto& [k, l] : t2) { if((l&1) == 1) tr2.push_back(k); } for(int& k : tr1) { for(int& kk: tr2) { ret ^= (k & kk); } } return ret; } };

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询