zoukankan      html  css  js  c++  java
  • Java用分治法查找数组元素的最大值和最小值。

    描述:

    用分治法查找数组元素的最大值和最小值。

    输入:随机输入10个整数
    输出: max=最大的那个数 min=最小的那个数

    public class MaxAndMin{
        public static void main(String[] args) {
    
            Scanner sc = new Scanner(System.in);
            String[] strNums = sc.nextLine().split(" ");
            sc.close();
            int[] nums = new int[strNums.length];
            for (int i = 0; i < strNums.length; i++) {
                nums[i] = Integer.parseInt(strNums[i]);
            }
            int[] Max = new int[1];
            int[] Min = new int[1];
    
            maxAndmin(nums, 0, nums.length - 1, Max, Min);
            System.out.println("max:"+Max[0]);
            System.out.println("min:"+Min[0]);
        }
    
        public static void maxAndmin(int[] a, int left, int right, int[] maxnum, int[] minnum) {
    
            if (left == right) {
                maxnum[0] = a[left];
                minnum[0] = a[right];
            } else if (left + 1 == right) {
                if (a[left] > a[right]) {
                    maxnum[0] = a[left];
                    minnum[0] = a[left];
                } else {
                    maxnum[0] = a[right];
                    minnum[0] = a[left];
                }
            } else {
                int m = (right + left) / 2;
                int lmax[] = { 0 };
                int lmin[] = { 0 };
                int rmax[] = { 0 };
                int rmin[] = { 0 };
    
                maxAndmin(a, left, m, lmax, lmin);
                maxAndmin(a, m + 1, right, rmax, rmin);
    
                if (lmax[0] > rmax[0]) {
                    maxnum[0] = lmax[0];
                } else {
                    maxnum[0] = rmax[0];
                }
                if (lmin[0] < rmin[0]) {
                    minnum[0] = lmin[0];
                } else {
                    minnum[0] = rmin[0];
                }
            }
    
        }
    
    }
  • 相关阅读:
    丑数——剑指offer面试题34
    把整数排成最小的数——剑指offer面试题33
    从1到n整数中1出现的次数——剑指offer面试题32
    各种排序方法及其比较
    scrapy安装
    水仙花数
    分数化小数(decimal)
    子序列的和
    倒三角
    韩信点兵
  • 原文地址:https://www.cnblogs.com/outxiao/p/10605231.html
Copyright © 2011-2022 走看看