- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
是否有一种简单的方法来获取集合的前 x 个排列?
例如一个包含 5 个字符的集合 {a,b,c,d,e} 将有
5*5*5*5*5=3125个排列输出
(允许重复,例如 {a,a,a,a,a})
但我只想获得例如前 100 个值
最佳答案
一种按字典顺序一次生成所有“排列”的方法,而不必将它们全部存储在内存中:
function permute_chars(alphabet, nword, nmax)
if nargin < 3 % default to displaying all, this can be a huge number!
nmax = nchar^nword;
end
nchar = length(alphabet);
ind = zeros(1, nword);
i = 0;
while i < nmax
% just printing the permutaions, edit according to your needs
disp(cell2mat(alphabet(ind + 1)));
% calculate next indices, classic elementary school addition with carry
ind(end) = ind(end) + 1;
for j = nword:-1:2
if ind(j) == nchar
ind(j) = 0; % wrap around
ind(j-1) = ind(j-1) + 1; % carry
end
end
i = i + 1;
end
当然,我忘记了一些晦涩的函数,这些函数可以用更少的行来实现它,但是这样写很清楚它是如何工作的。快速测试:
>> alphabet = {'a', 'b', 'c', 'd', 'e'};
>> permute_chars(alphabet, 1)
a
b
c
d
e
>> permute_chars(alphabet, 2)
aa
ab
ac
ad
ae
ba
[... snip ...]
ed
ee
仅打印有限数量的排列:
>> permute_chars(alphabet, 5, 8)
aaaaa
aaaab
aaaac
aaaad
aaaae
aaaba
aaabb
aaabc
关于matlab - 生成具有受控输出的集合的排列?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29990842/
为什么 React 提示受控/不受控输入? value一开始就设置为this.state.text,this.state.text在constructor中设置code> 到 ''。 import R
我在 SCM 工作,使用各种工具(Subversion、Clearcase、TFS、Perforce)和技术(主要是 .NET、Java)。在我开始工作之前,正常的业务顺序是创建一个受控分支。 我将受
我想在单击“恢复默认值”按钮时恢复所有输入字段和总计的默认值,但它不起作用。在我到目前为止的代码中,所有元素都包含在网格中。 我提到的SO问题: 将所有元素包装在表单或 div 中并调用 reset(
我一直在努力以编程方式打开/关闭 React-Select 组件,同时仍然保留选择元素的正常单击功能。 我需要通过 JavaScript 以编程方式打开选择,我使用 menuIsOpen 属性来工作。
我这里有一个具体案例,我需要一些安全建议。基本上我的问题是“如果我控制数据库中的内容(没有用户提交的数据),以 HTML(通过 AJAX)返回数据库查询的结果是否存在安全问题?” 这是正在发生的过程:
我是一名优秀的程序员,十分优秀!