题解 | #下一个排列#
下一个排列
https://www.nowcoder.com/practice/50b0b87e50be4944b34cb0f2ce618197
package main import "sort" /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param nums int整型一维数组 * @return int整型一维数组 */ func nextPermutation(nums []int) []int { xLen := len(nums) if xLen <= 1 { return nums } idx, minNum := xLen-2, xLen-1 for ; idx > 0; idx-- { if nums[idx] < nums[idx+1] { for nums[idx] >= nums[minNum] { minNum-- } break } } nums[idx], nums[minNum] = nums[minNum], nums[idx] sort.Ints(nums[idx+1:]) return nums }