A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

一个数组长度是N不重复元素组合数为2^n-1  比如{1,2,3} 组合数组{1,2,3,12,13,23,123}
这题想了一天还是没结果。应该是用递归吧。。

评分

参与人数 1技术分 +1 收起 理由
EYE_SEE_YOU + 1

查看全部评分

2 个回复

倒序浏览
2^n-1 这个是说数组里面的数据呢,还是数组的长度呢?
如果是数据里面的数据,应该是奇数数据。
如果是数据数组的长度呢,也是奇数长度的数据。
这道题是往组数里面添加数据吗?
回复 使用道具 举报
这道题其实属于算法中的组合问题,可以用很多种方法解决,不单单是递归。比如蛮力法、分治法、减治法、动态规划法、贪心法、回溯法、分治限界法都能解决。
比如用蛮力法解决伪代码:
1.初始化一个长度为n的比特串s=00···0并将对于的子集输出;
2.for(i=1;i<2^n;i++)
{
      2.1 s++;
      2.2 将s对于的子集输出;
}
其实是基于这样的一种关系:n个元素的集合A={a1,a2,```,an}的所有2^n个子集和长度为n的所有2^n个比特串之间的一一对应关系。
希望对你有用!!
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马