LeetCode 1863.找出所有子集的异或总和再求和

题解

根据上述图可以根据二进制运算获取所有的子集,但是可以使用二进制获取所有子集需要有题目的这一句话才能够使用注意:在本题中,元素相同的不同子集应多次计数。

也就是对于{2,2,3,4,5}的子集不会简化成{2,3,4,5}

复制代码
public static int subsetXORSum(int[] nums) {  
    int n = nums.length, sum = 0;  
    for (int i = 0; i < (1 << n); i++) {  
        int temp = 0;  
        for (int j = 0; j < n; j++) {  
            if (((i >> j) & 1) == 1) {  
                temp ^= nums[j];  
            }  
        }  
        sum += temp;  
    }  
    return sum;  
}
相关推荐
LLLLLindream6 分钟前
数据结构之链表
数据结构·链表
火车叼位19 分钟前
初中生也能懂的贝叶斯定理:拆解一个改变世界的公式
人工智能·数学·算法
ChoSeitaku22 分钟前
NO.66十六届蓝桥杯备战|基础算法-贪心-区间问题|凌乱的yyy|Rader Installation|Sunscreen|牛栏预定(C++)
c++·算法·蓝桥杯
用手码出世界27 分钟前
二叉树——队列bfs专题
数据结构·算法·宽度优先
OneQ66637 分钟前
C++自学笔记---指针在数组遍历中的应用
c++·笔记·算法
EnigmaCoder39 分钟前
蓝桥杯刷题周计划(第四周)
c++·算法·蓝桥杯
绿水毛怪.41 分钟前
蓝桥杯基础算法-字符串与集合
算法·职场和发展·蓝桥杯
丶Darling.1 小时前
26考研 | 王道 | 数据结构 | 第五章 树
数据结构·考研
悄悄敲敲敲1 小时前
C++第14届蓝桥杯b组学习笔记
c++·学习·算法·蓝桥杯
佚明zj2 小时前
[ISP 3A ] AE的常用算法分析
算法·计算机视觉·接口隔离原则