zoukankan      html  css  js  c++  java
  • 数组取最大值最小值

    1、数组取出最大值,最小值的方式

    第一种、

    遍历一边数组就可以找出需要的值,基本上可以说是速度最快的算法,还不需要排序

    int [] intArray = {1,3,2,4,2,5,2,6,45,7,5,86,5,45,3,867} ;
    int max = intArray[0];
    int min = intArray[0];
    for (int i : intArray) {
    max = max>i?max:i;
    min = min<i?min:i;
    }
    System.out.println(max+"-----"+min);//返回的最大值和最小值

    第二种、

    先排序,在取最大最小值

    Arrays.sort(intArray.clone());//clone的目的是因为数组本身也是个对象,不想改变它本身的顺序,当然,要是顺序没什么用处,也可以不clone
    System.out.println(intArray[intArray.length-1]);//最大值
    System.out.println(intArray[0]);//最小值

    其实在秦老师的书里,另外我自己也测试了,在1w条数据之内,这两种方法是差不多的,可以说事几乎一样的,

    2、取出数组第二大值的方式、

    这个就要想想了,第二大致不可以能一个,所以位置上取就不太如意了

    treeSet  是可以实现删除重复的、

    Integer [] intArray = {1,3,2,4,2,5,2,6,45,7,5,86,5,45,3,867} ;

    List<Integer> l = Arrays.asList(intArray);
    TreeSet<Integer> tl = new TreeSet<Integer>(l);
    System.out.println(tl.lower(tl.last()));
    //比最大值小的值



    最值的计算使用集合是最简单的,使用数组是性能最好的。

    ---整理自:秦老师的《、、、、151个建议》


  • 相关阅读:
    poj 1286 Necklace of Beads poj 2409 Let it Bead HDU 3923 Invoker <组合数学>
    大圣降妖录破解
    dex文件格式二
    dex文件格式一
    打造smali代码库辅助分析
    一键调试脚本使用手册
    TraceView进行性能分析
    Android Killer工具用法
    十三. JEB破解三
    十二. 一步步破解JEB 2.0demo版二
  • 原文地址:https://www.cnblogs.com/james1207/p/3278018.html
Copyright © 2011-2022 走看看