寻找“多米诺组合”算法

问题描述 投票:0回答:1

我将以编码器的形式完成我的学徒生涯,并且我有一个很好的j2me项目可以继续工作,但我不得不承认我对数学算法并不像我想的那样好。

我的问题是从一组给定的值中创建所有可能的“多米诺骨牌对”。例如:可能的值从0到6.现在想象一些具有这些值的多米诺骨牌。输出应该是这样的:

00 01 02 03 04 05 06 11 12 13 ...

每对只出现一次,但有两个相等值的对是可能的。

我已经搜索过这个问题了,但是我找不到解决这个问题的方法,或者我真的不明白这些算法是如何工作的。

我真的很感激任何解释和算法。随意发布替代解决方案。我宁愿不只是有一个解决方案,但也要理解它;)

algorithm combinations permutation
1个回答
7
投票

伪代码:

for i from 0 to n inclusive
   for j from i to n inclusive
       output i,j

重要的是第二个循环不是从零开始。这意味着我们不必测试是否已经使用过多米诺骨牌。我们知道使用该算法生成的所有多米诺骨牌都是独特的,因为算法的构造方式。

© www.soinside.com 2019 - 2024. All rights reserved.