小编Han*_*mpf的帖子

Java:如何实现一个需要2个数组并返回2个数组的方法?

好的,这就是我想要做的:

我想为数组实现一个交叉方法.

它应该采用2个相同大小的数组并返回两个新数组,这两个数组是两种输入数组的混合.如[a,a,a,a] [b,b,b,b] ------> [a,a,b,b] [b,b,a,a].

现在我想知道在Java中建议的方法是什么,因为我不能返回多个值.

我的想法是: - 返回包含两个新数组的Collection(或数组).

我真的不喜欢那个,因为它认为会导致更难理解代码. - 通过为每个案例调用方法,但每次仅获取一个结果,避免返回两个结果的需要.

我也不喜欢那个,因为没有关于应该返回哪个解决方案的自然顺序.这需要指定,但导致更难理解代码.

此外,这仅适用于这种基本情况,但我希望在交叉之前对阵列进行洗牌,然后将其反转.因为我不想实际操作,所以我无法进行与交叉隔离的混洗,而是在进行交叉时我想使用有关置换的信息,这将是我认为更有效的方式.

我的问题不是关于算法本身,而是关于在Java中输入方法(关于输入和输出)的方法

java

2
推荐指数
3
解决办法
2461
查看次数

有效地逆转Java中数组的排列

好的,这是我的问题:

我在Java中实现一个算法,其中的一部分将遵循:问题是如何以有效的方式做我现在要解释的内容.

给定:长度为n的整数数组perm的数组a,这是[1..n]的排列

现在我想使用由数组perm确定的顺序来置换数组a,

即a = [a,b,c,d],perm = [2,3,4,1] ------> permutedA [b,c,d,a],

我想通过迭代数组来实现这一点:permutedA [i] = a [perm [i] -1],( - 1因为perm中的排列索引从1开始而不是0)

现在我想对permutedA做一些操作......

现在我想反过来进行置换操作.这是我不知道该怎么做的地方.注意a可以多次持有一个项目,即a = [a,a,a,a]

现在我认为使用Hashmap而不是perm数组会有所帮助.但我不确定这是否是最好的方法.

java arrays algorithm map

0
推荐指数
1
解决办法
1179
查看次数

标签 统计

java ×2

algorithm ×1

arrays ×1

map ×1