是否应该有任何特定的顺序,我应该为Java main方法编写以下内容?
public static void main()
换句话说,我可以按任何顺序重新洗牌,静态,无效吗?
为什么或者为什么不?
我正在寻找scala方式来给出所有排列而不重复.我知道这个网站上已有一些帖子,但它们似乎有一个稍微不同的问题.
我正在寻找重复的所有排列.例如:
combine(List('A','C','G'))
Run Code Online (Sandbox Code Playgroud)
应该产量:
List(List('A'.'A','A'),List('A'.'A','C'),List('A'.'A','G'),List('A'.'C','A'),
List('A'.'C',''C), ... List('G'.'G','G')
Run Code Online (Sandbox Code Playgroud)
如果我的问题已经解决但我无法找到,我很抱歉.
提前致谢.
编辑:
我自己的方法(不编译):
def combine(size: Int = sym.length) : List[List[T]] = {
size match {
case 0 => List()
case 1 => sym.toList.map(List(_))
case _ => for (el <- sym) yield el :: combine(size-1)
}
}
Run Code Online (Sandbox Code Playgroud)
sym是一个类的数组成员,它包含要组合的所有符号.