全排列

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31

import java.util.List;
import java.util.Scanner;
import java.util.stream.Collectors;
import java.util.stream.IntStream;
import java.util.stream.Stream;

/**
* 全排列
*/
public class Main46 {
public static void main(String[] args) {
int n=5;
Scanner s = new Scanner(System.in);
n = s.nextInt();
List<String> list = IntStream.rangeClosed(1, n).mapToObj(Integer::toString).collect(Collectors.toList());
Stream<String> stream = list.stream();
for(int i=1;i<n;i++){
stream=stream.flatMap(
str->list.stream()
.filter(temp->!str.contains(temp))
.map(e->str.concat(" "+e))
);
}
String collect = stream.sorted().collect(Collectors.joining("\n", "", ""));
System.out.println(collect);

}

}