最短排序

来源:互联网 发布:软件测试用例实例 编辑:程序博客网 时间:2024/05/21 04:00

对于一个无序数组A,请设计一个算法,求出需要排序的最短子数组的长度。
给定一个整数数组A及它的大小n,请返回最短子数组的长度。

测试样例:
[1,5,3,4,2,6,7],7
返回:4

class ShortSubsequence {public:    int findShortest(vector<int> A, int n) {        int max=A[0],min=A[n-1],maxNum=-1,minNum=-1;        for(int i=1;i<n;++i){            if(max>A[i])                maxNum=i;            else                max=A[i];        }        for(int i=n-1;i>=0;--i){            if(min<A[i])                minNum=i;            else                min=A[i];        }        if(minNum==-1)            return 0;        else            return maxNum-minNum+1;    }};
0 0
原创粉丝点击