对于一个无序数组A,请设计一个算法,求出需要排序的最短子数组的长度。 给定一个整数数组A及它的大小n,请返回最短子数组的长度。 测试样例: [1,5,3,4,2,6,7],7 返回:4
//测试数据{1,2,10,1,8,9} 结果是4
//但是这个测试明明就是5才对啊,所以测试用例错了
classShortSubsequence {
public:
intfindShortest(vector
// write code here
intlen=n;
intmin=A[len-1];
intminIndex=-1;
for(inti=len-2;i>=0;i--){
if(A[i]>min)
minIndex=i;
else
min=A[i];
}
if(minIndex==-1)
return0;
intmax=A[0];
intmaxIndex=-1;
for(inti=1;i if(A[i] maxIndex=i; else max=A[i]; } returnmaxIndex-minIndex+1; } };