845. 陣列中的最長山脈

lankerenx發表於2020-10-25

LeetCode: 845. 陣列中的最長山脈

在這裡插入圖片描述


  1. 遍歷統計

遍歷統計


    public int longestMountain(int[] A) {
        if(A.length == 0 || A.length == 1 || A.length == 2) return 0;
        int left = 0;
        int mx = 0, temp = 0;

        boolean b = false;
        for (int i = 1; i < A.length; i++) {
            if(A[i] > A[left]){
                temp++;
                b = true;
            } else if(A[i] == A[left]){
                temp = 0;
                b = false;
            } else if(A[i] < A[left]){
                if(b) temp++;

                if(b && (i + 1 >= A.length || (A[i + 1] >= A[left + 1]))) {
                    mx = Math.max(mx, temp);
                    temp = 0;
                }
            }

            left++;
        }

        return mx == 0 ? 0 : mx + 1;
    }


在這裡插入圖片描述




>> 官方題解

列舉山頂 、列舉山腳

相關文章