@lizlalala
2016-10-19T06:25:22.000000Z
字数 393
阅读 1369
未分类
数组交换时也需要注意这一点。
比如
var nextPermutation = function(nums) {var i=nums.length-1,j = i;//降序排列的数组,左边一个数字即为要更改的部分。while(nums[i-1]>=nums[i]) i--;var baseIndex = i-1;while(i<j && i>=0){ //注意判断1swap.call(nums,i,j);i++;j--;}if(baseIndex>=0){ //注意判断2i= baseIndex+1;while(nums[i]<=nums[baseIndex])i++;swap.call(nums,i,baseIndex);}};
数组排列:如果已经排序好,左右夹逼交换即可,终止条件为
while(i<j)
