Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public class Permutations {
- private int[] p;
- private int size;
- public Permutations(int n) {
- p = new int[n];
- size = 1;
- for (int i = 0; i < n; i++) {
- p[i] = i;
- size *= i + 1;
- }
- }
- public int size() {
- return size;
- }
- public int[] get(int n) {
- int[] r = (int[]) p.clone();
- for (int i = p.length; 0 < i; i--) {
- swap(r, i - 1, n % i);
- n = (n - (n % i)) / i;
- }
- return r;
- }
- private void swap(int[] r, int i, int j) {
- int t = r[i]; r[i] = r[j]; r[j] = t;
- }
- }
Add Comment
Please, Sign In to add comment