zoukankan      html  css  js  c++  java
  • [原]Java面试题-输入一个整型数组,找出最大值、最小值,并交换。

    【Date】2013-09-19
    【Author】wintys (wintys@gmail.com) http://wintys.cnblogs.com

    【Content】:

    1、面试题

    输入一个整型数组,找出最大值、最小值,最大值与第一个元素交换,最小值与最后一个元素交换,并输出。

    2、程序

    public class MaxMinTest {
        public static void main(String[] args) {
            int[] a={1,7,2,4,5,3,2,5,9};
            //测试数据:
            //int[] a={4,1,7,2,4,5,9,3,5};
            //int[] a={9,3,7,2,4,5,9,3,1};
            //int[] a={1};
            
            MaxMinTest t = new MaxMinTest();
            t.printArray(a);
            t.exchange(a);
            t.printArray(a);
        }
        
        public void exchange(int a[]){
            int max = 0,min = 0;
            int len = a.length;
            
            for(int i = 0;i< len; i++){
                if(a[i] > a[max]){
                    max = i;
                }
                if(a[i] < a[min]){
                    min = i;
                }
            }
            
            printMaxMin(a, max, min);
            
            //先交换max,再交换min
            swap(a, max , 0);    
            
            //排除特殊情况:最小值在a[0],先交换max,最小值被交换走了,所以要追踪到最小值。
            if(min == 0){
                min = max;
            }
            
            swap(a, min , len - 1);
        }

        private void swap(int[] a, int i, int j) {
            int tmp;
            tmp = a[i];
            a[i] = a[j];
            a[j] = tmp;
        }

        private void printMaxMin(int[] a, int max, int min) {
            System.out.println("最大值:a[" +max+"]=" + a[max]);
            System.out.println("最小值:a[" +min+"]=" + a[min]);
        }
        
        public void printArray(int a[]){
            for(int i = 0; i < a.length;i++){
                System.out.print(a[i] + " ");
            }
            System.out.println();
        }
    }
    作者:wintys (wintys@gmail.com)  出处:http://wintys.cnblogs.com   欢迎转载,转载请注明作者及出处。
  • 相关阅读:
    3.Appium运行时出现:Original error: Android devices must be of API level 17 or higher. Please change your device to Selendroid or upgrade Android on your device
    3.Python连接数据库PyMySQL
    2.Python输入pip命令出现Unknown or unsupported command 'install'问题解决
    2.Linux下安装Jenkins
    5.JMeter测试mysql数据库
    Android 4学习(7):用户界面
    Android 4学习(6):概述
    Android 4学习(5):概述
    Android 4学习(4):概述
    Android 4学习(3):概述
  • 原文地址:https://www.cnblogs.com/wintys/p/jobinterview_minmaxtest.html
Copyright © 2011-2022 走看看