public class Solution {
public void nextPermutation(int[] num) {
// Start typing your Java solution below
// DO NOT write main() function
int len = num.length;
if(len <= 1)
return;
for(int i = len - 1; i > 0; i--){
// 找到第一个下降的元素
if(num[i - 1] < num[i]){
// 找到被交换的那个数, min value in num[i...len - 1] that > num[i - 1]
int j = i;
while(j < len && num[j] > num[i - 1])
j++;
j--;
int tmp = num[j];
num[j] = num[i - 1];
num[i - 1] = tmp;
Arrays.sort(num, i , len);
return;
}
}
Arrays.sort(num);
return;
}
}
Next Permutation
最新推荐文章于 2021-03-10 11:29:57 发布