gpt4 book ai didi

java - 迭代数组的排列

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:35:13 25 4
gpt4 key购买 nike

我正在为我正在进行的一些研究编写一些 Java 代码,并且需要有一种方法来迭代 ArrayList 的所有排列。我查看了以前在这里提出的一些问题,但大多数都不是我想做的,那些接近的问题有处理字符串的答案和用 Perl 编写的示例代码,或者在一个实现的情况下似乎好像它会起作用……实际上并不起作用。

理想情况下,我正在寻找提示/代码片段来帮助我编写一个函数 permute(list, i),当我从 0 到 list.size() 时!给我 ArrayList 的每个排列。

最佳答案

有一种从 0 到 (n! - 1) 的计数方法,可以列出 n 个元素列表的所有排列。这个想法是使用 factorial number system 重写数字。并将数字解释为确定使用哪种排列的编码方式。如果你对此感到好奇,我有 a C++ implementation of this algorithm 。我也曾经 gave a talk 关于这一点,如果您想要有关该主题的一些视觉效果。

希望这对您有所帮助!

关于java - 迭代数组的排列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11976280/

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