bug:
忘记i>0的判断
class Solution { public: void nextPermutation(vector<int> &num) { int i=num.size()-1; while(i>0&&num[i]<=num[i-1]) i--; if(i==0)sort(num.begin(),num.end()); else { int k=num[i-1]; int diff=INT_MAX; int index=i; for(int j=i;j<num.size();j++) { if(num[j]-k>0&&num[j]-k<diff) { diff=num[j]-k; index=j; } } swap(num[index],num[i-1]); sort(num.begin()+i,num.end()); } } };