首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >生成所有3*3二维数组

生成所有3*3二维数组
EN

Stack Overflow用户
提问于 2009-04-05 10:32:18
回答 3查看 209关注 0票数 1

我该如何用java编写一个函数来生成所有的3*3多维数组,使得1...9之间的每个数字只出现一次?

谢谢!

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2009-04-05 10:42:06

基本上,您正在寻找序列[1, 2, ... 9]的所有排列,但请注意,您将它们拆分为一个3x3矩阵。

很容易在数学上证明排列的数量是9! (阶乘9)。

有许多算法可以生成排列。选择你觉得最方便的。例如,at wikipedia

票数 5
EN

Stack Overflow用户

发布于 2009-04-05 10:37:38

注意:根据OP,这实际上不是家庭作业。

你已经走了多远了?这听起来像是家庭作业,这很好,所以可能会有所帮助,但你应该向我们展示你做了多少。所以让我们看看你能做些什么,我们会帮助你的

票数 0
EN

Stack Overflow用户

发布于 2009-04-05 10:42:44

我会从小的开始,对于2*2的数组,你会怎么做?手动完成-即开始写下所有可能的2*2数组。你是怎么做到的?然后想一想如何在代码中做到这一点。如果你做的是2*2,你应该能够看到你的结果看起来很好,这样你就会知道你是否在正确的轨道上。

这基本上是一个排列问题,一旦你找出了小数字的问题,同样的解决方案应该可以扩展。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/718707

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档