/*
* 如何寻找数组中的最大值和最小值
* 维持两个变量min,max,每次比较相邻的两个数,较大者与max比较,较小者与min比较,通过比较找出最值。比较次数为1.5N次。
*/
public class MaxMin {
static int Max;
static int Min;
public static void GetMaxAndMin(int[] arr){
if(arr==null||arr.length<0)
return;
Max=arr[0];
Min=arr[0];
for(int i=1;i<=arr.length-1;i=i+2){
if(i+1>=arr.length){
if(arr[i]>Max)
Max=arr[i];
if(arr[i]<Min)
Min=arr[i];
}else{
if(arr[i]>arr[i+1]){
if(arr[i]>Max)
Max=arr[i];
if(arr[i+1]<Min)
Min=arr[i+1];
}
if(arr[i]<arr[i+1]){
if(arr[i+1]>Max)
Max=arr[i+1];
if(arr[i]<Min)
Min=arr[i];
}
}
}
}
public static void main(String[] args) {
int[] arr={7,3,19,40,4,7,1};
int[] arr1=null;
GetMaxAndMin(arr);
System.out.println("max="+Max);
System.out.println("min="+Min);
GetMaxAndMin(arr1);
System.out.println("max="+Max);
System.out.println("min="+Min);
}
}
寻找数组中的最大值和最小值
最新推荐文章于 2020-08-14 18:20:11 发布