您的位置:首页 > 其它

需要排序的最短子数组长度

2017-03-02 11:12 295 查看
自己debug

public class MinLength {

/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
int[] arr={1,5,4,3,2,6,7};
System.out.println(getMinglength(arr));
}
public static int getMinglength(int[] arr){
if(arr==null||arr.length==0){
return 0;
}
int length=arr.length;

int min=arr[length-1];
int noMinIndex=-1;
for(int i=length-2;i>=0;i--){
if(arr[i]>min){
noMinIndex=i;
}else{
min=Math.min(min, arr[i]);
}
}
if(noMinIndex==-1){
return 0;
}
int max=arr[0];
int noMaxIndex=-1;
for(int i=1;i<length;i++){
if(arr[i]<max){
noMaxIndex=i;
}else{
max=Math.max(max, arr[i]);
}
}
return noMaxIndex-noMinIndex+1;
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: