【问题标题】:Finding all possible unique arrays within a matrix在矩阵中查找所有可能的唯一数组
【发布时间】:2011-12-01 04:26:54
【问题描述】:

当给定一个方阵时,在不使用每个数组的任何行/列中的多个元素的情况下找到其中所有可能数组的最佳方法是什么?

例如,在这样的矩阵中:

0 2 3 
1 2 3 
1 2 0

然后它会像这样通过它:

然后它会输出以下数组列表:

123
123
023
123
120
020

【问题讨论】:

    标签: java arrays algorithm matrix


    【解决方案1】:

    您可以将每个这样的数组直接映射到数字的排列 (0 .. size-1)。为了向您展示这是如何工作的,排列 (2,1,0) 映射到 3 个坐标 (2,0), (1,1), (0,2)。你举的6个例子是

    (2,1,0)  (1,2,0)  (0,2,1)
    
    (2,0,1)  (1,0,2)  (0,1,2)
    

    为了解释映射,让我们采用第一个排列(2,1,0) --> (2,0), (1,1), (0,2)。然后,您要使用的值是array[2][0], array[1][1], array[0][2]

    所以现在的问题是如何生成每个排列。有几种算法,这里用java实现其中一种:http://www.merriampark.com/perm.htm

    【讨论】:

      猜你喜欢
      • 2022-01-21
      • 2016-04-23
      • 1970-01-01
      • 2013-03-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多