31. 下一个排列

it2023-11-28  78

挖坑

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; } } }
最新回复(0)