挖坑
class Solution {
public void nextPermutation(int[] nums
) {
int i
= nums
.length
- 1;
for(;i
> 0; i
--){
if(nums
[i
] > nums
[i
- 1])break;
}
int pos
= i
;
if(i
> 0){
for(int j
= i
+ 1;j
< nums
.length
;j
++){
if(nums
[j
] > nums
[i
- 1] && nums
[j
] <= nums
[pos
]){
pos
= j
;
}
}
int temp
= nums
[i
- 1];
nums
[i
- 1] = nums
[pos
];
nums
[pos
] = temp
;
}
else{
i
= 0;
}
for(int j
= i
; j
< i
+ (nums
.length
- i
) / 2; j
++){
int temp
= nums
[j
];
nums
[j
] = nums
[nums
.length
- j
+ i
- 1];
nums
[nums
.length
- j
+ i
- 1] = temp
;
}
}
}
转载请注明原文地址: https://lol.8miu.com/read-11840.html