/**
* 最短排序
* 对于一个无序数组A,请设计一个算法,求出需要排序的最短子数组的长度。
给定一个整数数组A及它的大小n,请返回最短子数组的长度。
[1,5,3,4,2,6,7],7
返回:4
* Created by lizhaoz on 2016/5/3.
*/publicclassfindshort {publicstaticintfindShortest(int[] A, int n) {
int k = -1;
int max = A[0];
for(int i=1;i<n;i++){
if(max > A[i])
k = i;
else
max = A[i];
}
if(k==-1)return0;
int m = -1;
int min = A[n-1];
for(int i=n-2;i>=0;i--){
if(min < A[i])
m = i;
else
min = A[i];
}
System.out.println(k+" "+m);
return k-m+1;
}
publicstaticvoidmain(String[] args) {
findShortest(newint[]{1,5,3,4,2,6,7},7);
}
}