说我有不同的价值观,我想随机select其中的x 。 什么是有效的algorithm呢? 我可以只调用rand() x次,但如果x , y很大,性能会很差。 请注意,这里需要组合 :每个值应该有相同的概率被选中,但是它们在结果中的顺序并不重要。 当然,任何生成排列的algorithm都是合格的,但是我想知道是否有可能在没有随机顺序要求的情况下更有效地做到这一点。 如何有效地生成0和上限N之间的K个非重复整数列表,覆盖这种情况下的排列。
给定2个数组Array1 = {a,b,c…n}和Array2 = {10,20,15….x}如何生成所有可能的组合作为stringa(i)b(j)c k)n(p)其中 1 <= i <= 10, 1 <= j <= 20 , 1 <= k <= 15, …. 1 <= p <= x 如: a1 b1 c1 …. n1 a1 b1 c1….. n2 …… …… a10 b20 c15 nx (last combination) 所以在所有组合的总数中= array2 = (10 X 20 X 15 X […]
你将如何去testing给定数字集合中的所有可能的组合增加到一个给定的最终数字? 例: 要添加的一组数字:{1,5,22,15,0,…} 预期结果:12345
这个问题经常以某种forms出现(例如参见这里或这里 )。 所以我想我会以一般forms呈现,并提供一个可供未来参考的答案。 给定任意数量的可能不同大小的vector,生成一个n列matrix,其行描述了从这些vector(笛卡尔乘积)中取出的所有元素的组合。 例如, vectors = { [1 2], [3 6 9], [10 20] } 应该给 combs = [ 1 3 10 1 3 20 1 6 10 1 6 20 1 9 10 1 9 20 2 3 10 2 3 20 2 6 10 2 6 20 2 9 10 2 9 […]
我有一个包含15个数字的列表,我需要编写一些代码来生成这些数字的所有32,768个组合。 我发现了一些代码 (通过谷歌search),显然做我在找什么,但我发现代码相当不透明,并谨慎使用它。 另外我有一种感觉,必须有一个更优雅的解决scheme。 唯一发生在我身上的将是循环通过十进制整数1-32768并将其转换为二进制,并使用二进制表示作为筛选器来挑选出适当的数字。 有谁知道更好的方法? 使用map() ,也许?
如何在Python中生成一个列表的所有排列,与列表中元素的types无关? 例如: permutations([]) [] permutations([1]) [1] permutations([1, 2]) [1, 2] [2, 1] permutations([1, 2, 3]) [1, 2, 3] [1, 3, 2] [2, 1, 3] [2, 3, 1] [3, 1, 2] [3, 2, 1] 编辑:Eliben指出类似于我的解决scheme,虽然更简单,所以我select它作为接受的答案,虽然Python 2.6 +具有itertools模块中的内置解决scheme: import itertools itertools.permutations([1, 2, 3])
我实际上不知道如何描述我想要的东西,但我会告诉你: 例如: $data1 = "the color is"; $data2 = "red"; 我该怎么做(或处理)所以$ result是$data1和$data2的组合? 预期结果: $result = "the color is red";
我想写一个函数,把一个字母数组作为参数和一些这些字母来select。 假设你提供了一个8个字母的数组,并希望从中select3个字母。 那么你应该得到: 8! / ((8 – 3)! * 3!) = 56 数组(或单词),每个由3个字母组成。
为什么喜欢组合而不是inheritance? 每种方法都有哪些折衷? 什么时候你应该selectinheritance而不是组合?