您的位置:首页 > 其它

最短排序

2016-04-27 21:35 375 查看
对于一个无序数组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;
}
};
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: