Java操作数组的常用算法总结

2018-07-20    来源:open-open

容器云强势上线!快速搭建集群,上万Linux镜像随意使用
public class BaseAlgorithm {  
  
    public static void main(String[] args) {  
        int[] arr = { 1, 7, 3, 30, 55, 21, 3, 5, 1, 7, 3 };  
        System.out.println(findMaxValue(arr));  
        System.out.println(findMostValue(arr));  
        System.out.println(findMaxLen(arr));  
    }  
  
    /** 
     * 找出数组中最大元素 
     */  
    public static int findMaxValue(int[] arr) {  
        int max = arr[0];  
        for (int i = 1; i < arr.length; i++) {  
            if (arr[i] > max) {  
                max = arr[i];  
            }  
        }  
        return max;  
    }  
  
    /** 
     * 找出数组中重复出现最多的元素 
     */  
    public static int findMostValue(int[] arr) {  
        // 出现最多次数  
        int most = 0;  
        // 出现最多次数的数组下标  
        int index = 0;  
        for (int i = 0; i < arr.length; i++) {  
            int temp = 1;  
            for (int j = i; j < arr.length; j++) {  
                if (arr[i] == arr[j]) {  
                    temp++;  
                }  
            }  
            if (temp > most) {  
                most++;  
                index = i;  
            }  
        }  
        System.out.println("最多出现了" + most + "次");  
        return arr[index];  
    }  
  
    /** 
     * 找出最长连续递增序列的长度 
     */  
    public static int findMaxLen(int[] arr) {  
        int maxLen = 1;  
        int temp = 1;  
        for (int i = 0; i < arr.length - 1; i++) {  
            if (arr[i + 1] >= arr[i]) {  
                temp++;  
            } else {  
                if (temp > maxLen) {  
                    maxLen = temp;  
                }  
                temp = 1;  
            }  
        }  
        return maxLen;  
    }  
  
}  

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点!
本站所提供的图片等素材,版权归原作者所有,如需使用,请与原作者联系。

上一篇:获取当前日期前(后)x天的日期Java代码

下一篇:js贪吃蛇代码分享