穷举vs暴搜vs深搜vs回溯vs剪枝系列一>找出所有子集的异或总和再求和

题目:


解析:


代码:

java 复制代码
private int ret;//返回周结果
    private int path;//枚举一个元素就异或进去
    public int subsetXORSum(int[] nums) {
        dfs(nums, 0);
        return ret;
    } 

    private void dfs(int[] nums, int pos){
        ret += path;
        for(int i = pos; i < nums.length; i++){
            path ^= nums[i];
            dfs(nums,i+1);
            //相同为0消除掉相同元素达到回复现场效果
            path ^= nums[i];
        }
    }
相关推荐
Suc_zhan32 分钟前
实验二 如何将随机森林算法应用于激酶抑制剂分类任务
python·算法·随机森林·机器学习
小学仔39 分钟前
leetcode -编辑距离
java·算法·动态规划
AI是这个时代的魔法1 小时前
Using Dyck Path to solve a leetcode puzzle
python·算法·leetcode
愚戏师1 小时前
数据结构与算法分析:树与哈希表(一)
数据结构·算法·链表·深度优先·广度优先·宽度优先
float_六七1 小时前
C++中的搜索算法实现
java·c++·算法
电科_银尘2 小时前
【Matlab】-- 基于MATLAB的飞蛾扑火算法与反向传播算法的混凝土强度预测
开发语言·算法·matlab
wen__xvn2 小时前
Codeforces Round 1014 (Div. 2)2092A - Kamilka and the Sheep c++
开发语言·c++·算法
梁下轻语的秋缘2 小时前
每日c/c++题 备战蓝桥杯(全排列问题)
c++·算法·蓝桥杯·深度优先
AredRabbit2 小时前
vector<int> 的用法
c++·算法·vector
pilgrim533 小时前
【二刷代码随想录】双指针-数组相关题型、推荐习题
java·数据结构·算法·leetcode