package com.snnu;
import java.util.Arrays;
/**
* Created by torch on 2017-06-02.
*/
public class Permutation {
public void nextPermutation(int[] nums) {
int len = nums.length;
if(len == 1 || len == 0){
return;
}
int i = len - 1;
while (true){
if(i != 0 && nums[i - 1] >= nums[i]){
i--;
}else {
int pos = i - 1;
if(i != 0) {
for (int k = len - 1; k >= i; k--) {
if (nums[k] > nums[pos]) {
swap(nums, pos, k);
break;
}
}
}
Arrays.sort(nums, i, len);
break;
}
}
for (int k = 0; k < len; k++) {
System.out.println(nums[k]);
}
}
private void swap(int[] nums, int pos, int k) {
int tmp = nums[pos];
nums[pos] = nums[k];
nums[k] = tmp;
}
// public static void main(String[] args) {
// int[] arr = {1, 3, 2};
// new Permutation().nextPermutation(arr);
// }
}
当前排列的下一个排列(leetcode31)
最新推荐文章于 2022-07-04 14:33:24 发布