/**
* MaxMin.java
*/
package Algorithm;
import java.util.Arrays;
import org.junit.Test;
/**
* @Author: chenxiaoyu
* @Date: 2013-8-1上午11:04:49
* @Description:
*/
public class MaxMin {
static int[] array = new int[]{1,2,4,6,3,8,9,0};
static int MaxIndex = array.length - 1;
// 1.排序数组,比较 n*n次
@Test
public void Test(){
Arrays.sort(array);
System.out.println(array[MaxIndex] + " " + array[0]);
}
// 2.扫描一遍数组找出最大数,最小数,比较2n次
@Test
public void travseTest(){
int max = array[0];
int min = array[0];
for(int i=1; i<=MaxIndex; i++){
if(array[i] > max){
max = array[i];
}else if(array[i]<min){
min = array[i];
}
}
System.out.println(max + " " + min);
}
//3.max存储大数,min存储小数,然后数组两个分成一组,大的和max比较,小的和min比较,比较次数:1.5n次
@Test
public void pairTest(){
int max = array[0];
int min = array[0];
int begin = array.length % 2 == 0?0:1;
for(int i=begin; i<=MaxIndex-1; i+=2){
if(array[i] > array[i+1]){
if(array[i] > max){
max = array[i];
}
if(array[i+1]< min){
min = array[i+1];
}
}else{
if(array[i+1] > max){
max = array[i+1];
}
if(array[i]< min){
min = array[i];
}
}
}
System.out.println(max + " " + min);
}
}
从一堆无序数中选出最大最小值
最新推荐文章于 2021-05-18 14:21:14 发布