next permutation run time 0ms .faster than 100%java solution
  • *class Solution {
    public void nextPermutation(int[] nums) {
    int idx1=-1;
    if(nums.length==1){
    return;
    }
    for(int i=nums.length-2;i>=0;i--){
    if(nums[i]<nums[i+1]){
    idx1=i;
    break;

          }
      }
      if(idx1<0){
          int l=0,r=nums.length-1;
          while(l<r){
              int temp=nums[l];
              nums[l]=nums[r];
              nums[r]=temp;
              r--;
              l++;
          }
          
      }
      else{
           for(int i=nums.length-1;i>idx1;i--){
          if(nums[idx1]<nums[i]){
             int temp=nums[idx1];
              nums[idx1]=nums[i];
              nums[i]=temp;
              break;
              
          }
      }
          int l=idx1+1,r=nums.length-1;
          while(l<r){
              int temp=nums[l];
              nums[l]=nums[r];
              nums[r]=temp;
              r--;
              l++;
          }
          
          
          
      }
      

    }

}

Comments (0)