首页 > 代码库 > 算法题:找出同一个序列中的最大值和最小值

算法题:找出同一个序列中的最大值和最小值

package arithmetic;/** * 同时找出一个序列中最大值和最小值 * 分两种情况:(1)序列只有两个元素 *          (2)序列有多个元素,有多个元素分别从序列的两端开始查找 * @author SHI */public class MaxAndMin {    public static void main(String[] args) {        int[] a = { 122, 41, 4, 5, 7, 2, 89, 122, 34, 56 };        int low = 0;        int high = a.length - 1;        int max = 0;        int min = 0;        // 序列就只有两个元素        if (a[0] < a[high] && a.length == 2) {            min = a[0];            max = a[high];        } else {            min = a[high];            max = a[max];        }        // 序列中有多个元素存在,思想:从序列的两端开始遍历        while (++low <= --high) {            if (a[low] <= a[high]) {                if (a[low] < min) {                    min = a[low];                }                if (a[high] > max) {                    max = a[high];                }            } else {                if (a[low] > max) {                    max = a[low];                }                if (a[high] < min) {                    min = a[high];                }            }        }        System.out.println(max + "  " + min);    }}

算法题:找出同一个序列中的最大值和最小值