|
|
1
31
你想要一台动力装置。下面是有关stackoverflow的所有问题 powersets 或 power sets . 下面是Python中的一个基本实现:
它的输出是:
请注意,它的第一个结果是空集。从此处更改迭代
下面是用于生成字符串输出的代码:
编辑:2009—10-24 好的,我认为你偏向于爪哇的一个实施。我不懂Java,所以我会在半路上遇到你,给你C代码:
|
|
|
2
11
生成大小为n的子集的最简单算法是考虑使用n位的所有二进制数。数字中的每个位置代表集合中的一个元素。如果数字中的位为1,则相应的集合元素在子集中,否则该元素不在子集中。由于对数字中的位进行了排序,因此保留了原始集的顺序。 参考文献:
|
|
|
3
11
方法清理方法可以通过如下的递归实现。
|
|
|
4
9
在C++中给出以下例程: template <typename Iterator>
bool next_combination(const Iterator first, Iterator k, const Iterator last)
{
/* Credits: Mark Nelson http://marknelson.us */
if ((first == last) || (first == k) || (last == k))
return false;
Iterator i1 = first;
Iterator i2 = last;
++i1;
if (last == i1)
return false;
i1 = last;
--i1;
i1 = k;
--i2;
while (first != i1)
{
if (*--i1 < *i2)
{
Iterator j = k;
while (!(*i1 < *j)) ++j;
std::iter_swap(i1,j);
++i1;
++j;
i2 = k;
std::rotate(i1,j,last);
while (last != j)
{
++j;
++i2;
}
std::rotate(k,i2,last);
return true;
}
}
std::rotate(first,k,last);
return false;
}
然后可以继续执行以下操作: std::string s = "12345";
for(std::size_t i = 1; i <= s.size(); ++i)
{
do
{
std::cout << std::string(s.begin(),s.begin() + i) << std::endl;
}
while(next_combination(s.begin(),s.begin() + i,s.end()));
}
|
|
|
5
8
使用python,itertools模块定义了一个combinations()方法,它可以满足您的需要。
会给你:
|
|
|
6
3
您可以使用下面的类(在爪哇):
要运行示例,请使用以下代码:
输出的顺序与示例中的顺序相同。 它不需要存储所有子集,然后对它们进行排序以获得您描述的顺序。 |
|
|
7
2
Java实现OUTIS的答案,将输入字符串作为ARG。
这是跑步。
|
|
|
8
1
在爪哇中给出生成字符串的所有可能组合的代码。长度为4的字符串的所有可能组合为2^4(2提升到幂4)。一般来说,对于长度为n的字符串,可能的组合为2^n(2上升到幂n)。因此代码:
|
|
|
9
0
Adrien Plisson's answer
显示如何在Python中检索指定长度的所有子序列(对于任意序列数据类型)。操作指定他使用字符串,并且他希望
全部的
子序列。因此,使用
(如果应省略空的子序列,则使用
|
|
|
10
0
C实施
|
|
11
0
C++解决方案:
|
|
|
12
-1
哎呀,回答错误: python中特定长度的子序列:
使用方法如下:
印刷品:
要生成所有子序列,请执行以下操作:
印刷品:
米克。 现在我明白了,你想要的是子集,而不是子列表。 |
|
AstralHex · 矩阵乘法代码工作不正常 1 年前 |
|
|
Fishie · 作为类成员的智能指针是否仍然自动释放?[关闭] 1 年前 |
|
|
Die4Toast · 递归调用成员箭头运算符-> 1 年前 |
|
|
Anka Hanım · 关于结构和动态数组地址的问题 1 年前 |