Java操作數組的常用算法總結

open代碼123 9年前發布 | 2K 次閱讀 Java 算法

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;  
}  

} </pre>

 本文由用戶 open代碼123 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!