首页 > 其他分享 >枚举数组的所有子集

枚举数组的所有子集

时间:2023-08-01 17:02:42浏览次数:31  
标签:nums int 枚举 csdn 数组 子集

参考:

 

https://blog.csdn.net/weixin_43212830/article/details/122756392

 

https://blog.csdn.net/qq_34261446/article/details/103522369

 

 

/**
 * @description: ,枚举数组的所有子集
 * @author: luguilin
 * @date: 2023-08-01 16:22
 **/
public class EnumAllSet {

    public static void test(int x, int [] nums){
        for(int i = x;i!=0;i = ((i - 1) & x)){
            int n = nums.length;
            List<Integer> res = new ArrayList<>();
            for(int j=0; j<n; j++){
                //二进制下某一位为1,则表示这一位所代表的数组被使用
                if((i & (1<<j)) !=0){
                    res.add(nums[j]);
                }
            }
            for (Integer re : res) {
                System.out.print(re+" ");
            }
            System.out.println();
        }
    }

    public static void main(String[] args) {
        test(7,new int[]{1,2,3});
    }
}

 

标签:nums,int,枚举,csdn,数组,子集
From: https://www.cnblogs.com/r1-12king/p/17597326.html

相关文章

  • 找出乱序数组第k大的数字(堆排序专场)
    使用堆排序来解决《乱序数组第k大的数字》先放上代码(虽然leetcode要求O(n),但是堆排序是O(nlogn))`classSolution{publicintfindKthLargest(int[]nums,intk){intheapSize=nums.length;buildHeap(nums,heapSize);for(inti=nums.length-1;i>=nums.length-......
  • LeetCode 581. 最短无序连续子数组
    classSolution{public:intfindUnsortedSubarray(vector<int>&nums){intn=nums.size();intl=0,r=n-1;while(l<n-1&&nums[l]<=nums[l+1])l++;while(r>0&&nums[r]>=nums[r-1])r--;......
  • 代码随想录算法训练营第五天|力扣242.有效的字母异位词、力扣242.两个数组的交集、力
    哈希表哈希表理论基础哈希表,又称为散列表(HashTable),是根据关键码的值而直接进行访问的数据结构其中,数组就是一张哈希表;表中关键码就是数组的索引下标,然后通过下标直接访问数组中的元素哈希表解决的问题:一般哈希表都是用来快速判断一个元素是否出现在集合中哈希函数:把学生的......
  • 代码随想录算法训练营第三天| LeetCode 242.有效的字母异位词 349. 两个数组的交集
    242.有效的字母异位词    卡哥建议: 这道题目,大家可以感受到数组用来做哈希表给我们带来的遍历之处。    题目链接/文章讲解/视频讲解: https://programmercarl.com/%E5%93%88%E5%B8%8C%E8%A1%A8%E7%90%86%E8%AE%BA%E5%9F%BA%E7%A1%80.html   做题思路:......
  • 随机不重复数组
    创建一个长度为6的int型数组,要求数组元素的值都在1-30之间,且是随机赋值。同时,要求元素的值各不相同。 /***各个位置数字不同*一直随机即可*思路:*若某个位置数字相同eg:位置1和位置2数字相同*arr[1]=arr[2]需重新随机数字但重新随......
  • Day 7: Shell数组和循环操作
    学习目标学习内容1.数组的定义和赋值2.数组的遍历for循环遍历数组长度3.练习任务大树哥个人信息学习目标学习Shell中的数组和循环操作。掌握数组的定义、遍历和操作方法。练习编写脚本,使用数组存储和处理数据。学习内容今天我们将学习Shell中的数组和循环操作,这......
  • 2799.统计完全子数组的数目-356
    统计完全子数组的数目给你一个由正整数组成的数组nums。如果数组中的某个子数组满足下述条件,则称之为完全子数组:子数组中不同元素的数目等于整个数组不同元素的数目。返回数组中完全子数组的数目。子数组是数组中的一个连续非空序列。示例1:输入:nums=[1,3,1,2......
  • 大二暑期实习记录(一):处理组件绑定数据错误(数组解构,map()方法)
    好家伙,搬砖 今天在做组件迁移(从一个旧平台迁移到一个新平台)的时候,发现了一些小小的问题: 1.错误描述:在穿梭框组件中,使用"节点配置"方法添加数据的时候,左测数据选择框直接消失了这里我们猜测一下,大概是数据处理出了问题此处,我们使用"数据绑定"绑定数据方法: ......
  • unsigned char数组拷贝数据段,置0数据段,未越界方法
    需要注意的是,自己去写C语言场景下数组的拼接,得不偿失,因为涉及到了数组的拼接,就会有动态分配内存,目前C语言是没有这个功能的;自己写会容易内存报错;因此,在涉及到C语言数组时,最好是只有拷贝,赋值等操作,在一开始确定数组时,把内存分配大一些;这里主要对内存越界的地方做个封装;然后可以实......
  • mongodb 数组文档 addtoset
    MongoDB数组文档addtoset在MongoDB中,数组文档是一种非常有用的数据结构,它可以在一个文档中存储多个值,并且可以非常灵活地对其进行添加、更新和删除操作。其中一个常用的数组操作是addtoset,它用于向数组文档中添加新的元素。数组文档简介在MongoDB中,数组文档是一种嵌套在......