gpt4 book ai didi

java - 不重复矩阵的组合

转载 作者:塔克拉玛干 更新时间:2023-11-03 04:45:07 24 4
gpt4 key购买 nike

我有一个包含在二维数组中的矩阵。

int[][] combinationValues

这个数组的大小可以变化,但是使用我现在拥有的测试用例,它的最大大小是 6 x 6。

这个矩阵是一组不重复的整数,一个示例值是...

[1][1,2,3]
[2][4,5,6]
[3][7,8,9]

我希望获得这些值的所有组合的数组/列表而不重复,每行只取一个值。所以使用前面的示例值,结果将是...

[1,5,9] , [1,6,8] , [2,4,9] , [2,7,6] , [3,4,8] , [3,5,7]

所以下面的结果是不正确的。

[1,4,7] //three from the first row
[1,5,8] //two from the second row

如果您能帮助我,欢迎使用伪代码,但我目前正在使用 Java 进行实现。

最佳答案

这是解决问题的基本思路:

  • 使用一个数组(或另一个集合)来存储所使用的索引(重复)
  • 对于 0 到最后一个可能的可用索引:
    • 检查索引是否已被标记为重复
    • 如果重复,则移动到下一个索引
    • 如果不是重复的,那么
      • 转到下一个可能的数组
      • 获取该索引处的元素
      • 将索引添加到数组(或集合)以将其标记为重复
      • 在 for 可用数组中重复相同的过程
      • 删除数组(或集合)的索引以取消将其标记为重复

关于java - 不重复矩阵的组合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26996818/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com