博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【Java习题】(难)设计⼀个⽅法,找出⼀个整型数组中的第⼆⼤的值
阅读量:2164 次
发布时间:2019-05-01

本文共 1317 字,大约阅读时间需要 4 分钟。

要求: 1. 不可以通过排序实现,不能修改数组中的数据顺序

         2. 要考虑到最⼤的数字可能出现多次

思路:找出最大值,然后标记,再重新找另外的最大值,遇到标记contine本次循环 继续找

完整代码如下:

package task;/** * 找出数组中第二大的元素的下标 * 思路: 找出最大值,然后标记,再重新找另外的最大值,遇到标记contine本次循环 继续找 */public class BigData03 {    public static void main(String[] args) {        int[] arrays = {1, 2, 3, 4, 5, 9, 7, 8, 5, 0};        int i = getMax(arrays); //获得数组最大值的下标        getSecondMax(arrays, i);    }    /**     * 找到最大的值     *     * @param array     */    public static int getMax(int[] array) {        int maxNum = array[0];        int maxTag = 0;        for (int i = 1; i < array.length; i++) {            if (maxNum < array[i]) {                maxTag = i;                maxNum = array[i];            }        }        System.out.println("数组中的最大值为: " + maxNum + ",所载的下标是: " + maxTag);        return maxTag;    }    /**     * 找第二大的值     *     * @param arrays     * @param maxTag     */    public static void getSecondMax(int[] arrays, int maxTag) {        int secondMax = arrays[0];        int secondTag = 0;        for (int i = 1; i < arrays.length; i++) {            if (i == maxTag)                continue;            if (secondMax < arrays[i]) {                secondTag = i;                secondMax = arrays[i];            }        }        System.out.println("数组中第二大的值: " + secondMax + ",所在的下标是: " + secondTag);    }}

 

转载地址:http://rpczb.baihongyu.com/

你可能感兴趣的文章
Java集合详解6:这次,从头到尾带你解读Java中的红黑树
查看>>
Java集合详解7:一文搞清楚HashSet,TreeSet与LinkedHashSet的异同
查看>>
Java集合详解8:Java集合类细节精讲,细节决定成败
查看>>
Java并发指南1:并发基础与Java多线程
查看>>
Java并发指南2:深入理解Java内存模型JMM
查看>>
Java并发指南3:并发三大问题与volatile关键字,CAS操作
查看>>
Java并发指南4:Java中的锁 Lock和synchronized
查看>>
Java并发指南5:JMM中的final关键字解析
查看>>
Java并发指南6:Java内存模型JMM总结
查看>>
Java并发指南7:JUC的核心类AQS详解
查看>>
Java并发指南8:AQS中的公平锁与非公平锁,Condtion
查看>>
Java网络编程和NIO详解6:Linux epoll实现原理详解
查看>>
Java网络编程和NIO详解7:浅谈 Linux 中NIO Selector 的实现原理
查看>>
Java网络编程与NIO详解8:浅析mmap和Direct Buffer
查看>>
Java网络编程与NIO详解10:深度解读Tomcat中的NIO模型
查看>>
Java网络编程与NIO详解11:Tomcat中的Connector源码分析(NIO)
查看>>
深入理解JVM虚拟机1:JVM内存的结构与消失的永久代
查看>>
深入理解JVM虚拟机3:垃圾回收器详解
查看>>
深入理解JVM虚拟机4:Java class介绍与解析实践
查看>>
深入理解JVM虚拟机5:虚拟机字节码执行引擎
查看>>