Advertisement
Guest User

Untitled

a guest
Jan 23rd, 2017
97
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.03 KB | None | 0 0
  1. public class Solution {
  2.  
  3. public void nextPermutation(int[] nums) {
  4.  
  5. int startSort = 0;
  6. boolean swaped = false;
  7.  
  8. for(int i = nums.length-2; i >= 0; i--){
  9. if(nums[i] < nums[i+1]){
  10. startSort = i+1;
  11. for (int j = nums.length-1; j > startSort ; j--){
  12. if(nums[i] < nums[j]){
  13. swap(nums, i, j);
  14. swaped = true;
  15. break;
  16. }
  17. }
  18. if(!swaped){
  19. swap(nums, i, startSort);
  20. }
  21. break;
  22. }
  23. }
  24.  
  25. int[] arr = new int[nums.length - startSort];
  26. System.arraycopy(nums, startSort, arr,0, nums.length - startSort);
  27. Arrays.sort(arr);
  28. for(int i = 0; i < arr.length; i++){
  29. nums[i+startSort] = arr[i];
  30. }
  31.  
  32. }
  33.  
  34. public void swap(int[] nums, int i, int k){
  35. int temp = nums[i];
  36. nums[i] = nums[k];
  37. nums[k] = temp;
  38. }
  39.  
  40. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement