113. 特殊排序

Posted 幽殇默

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了113. 特殊排序相关的知识,希望对你有一定的参考价值。

在这里插入图片描述
在这里插入图片描述
题目地址

// Forward declaration of compare API.
// bool compare(int a, int b);
// return bool means whether a is less than b.

class Solution {
public:
    vector<int> specialSort(int N) {
        vector<int> res; res.push_back(1);
        for(int i=2;i<=N;i++)
        {
            int l=0,r=res.size()-1;
            while(l<r)
            {
                int mid=l+r+1>>1;
                if(compare(res[mid],i)) l=mid;
                else r=mid-1;
            }
            res.push_back(i);
            for(int j=res.size()-2;j>r;j--) swap(res[j],res[j+1]);
            if(compare(i,res[r])) swap(res[r],res[r+1]);
        }
        return res;
    }
};

以上是关于113. 特殊排序的主要内容,如果未能解决你的问题,请参考以下文章

AcWing 113交互特殊排序——二分

算法刷题AcWing 113. 特殊排序——二分

laravel特殊功能代码片段集合

代码片段:Shell脚本实现重复执行和多进程

java file.listFiles()按文件名称日期大小排序

初识Spring源码 -- doResolveDependency | findAutowireCandidates | @Order@Priority调用排序 | @Autowired注入(代码片段