R8-技巧篇
最近速成java中,算法基础需要兼顾。
class Solution {public void nextPermutation(int[] nums) {int len=nums.length;List<Integer>list = new ArrayList<>();boolean flag=true;for (int i=len-1;i>=0;i--){list.add(nums[i]);Collections.sort(list);if (list.size()>0&&list.get(list.size()-1)>nums[i]){int id=list.size()-1;while(id>=0&&list.get(id)>nums[i]){id--;}nums[i]=list.get(id+1);list.remove(id+1);for (int j=i+1;j<len;j++){nums[j]=list.get(0);list.remove(0);}flag=false;}if (!flag) break;}if (flag)Arrays.sort(nums);}
}
ps:
java语法
List<Integer>list = new ArrayList<>();
list.add(nums[i]);
Collections.sort(list);
list的初始化定义以及排序