• leetcode Next Permutation


    我的代码:

    #include<iostream>
    #include<vector>
    #include<algorithm>
    
    using namespace std;
    
    void swap(int &a, int &b){
        int t = a;
        a = b;
        b = t;
    }
    
    void nextPermutation(vector<int> &num) {
        int L = num.size();
        if (L < 1)
            return;
        int k = 0;
        for (int i = L-2; i >=0; i--){
            for (int j = L-1; j >i;j--){
                if (num[j] > num[i]){
                    swap(num[i], num[j]);
                    sort(num.begin()+i+1,num.end());
                    return;
                }
            }
        }
        for (int i = 0; i <= L / 2; i++)
            swap(num[i], num[L-1 - i]);
    }
    
    int main(){
        vector<int> num = { 1,3,2 };
        nextPermutation(num);
        for (int i = 0; i < num.size(); i++)
            cout << num[i] << endl;
    }
  • 相关阅读:
    CoreData
    转场动画
    java基础(8)
    java基础(7)
    java基础(6)
    java基础(5)
    java基础(4)
    java基础(3)
    java基础(2)
    java基础(1)
  • 原文地址:https://www.cnblogs.com/chaiwentao/p/4448725.html
Copyright © 2020-2023  润新知