給定乙個整數陣列 a,如果它是有效的山脈陣列就返回 true,否則返回 false。
讓我們回顧一下,如果 a 滿足下述條件,那麼它是乙個山脈陣列:
a.length >= 3
在 0 < i < a.length - 1 條件下,存在 i 使得:
a[0] < a[1] < ... a[i-1] < a[i]
a[i] > a[i+1] > ... > a[a.length - 1]
示例 1:
輸入:[2,1]
輸出:false
示例 2:
輸入:[3,5,5]
輸出:false
示例 3:
輸入:[0,3,2,1]
輸出:true
0 <= a.length <= 10000
0 <= a[i] <= 10000
本人愚笨的做法:時間複雜度最壞o(2n)
public class shanmai
if(a[i+1]0; i--)
if(a[i]>a[i-1])
}return pre == aft;
}public static void main(string args) ;
system.out.println(validmountainarray(a));
}}
大佬的:時間複雜度最壞 o(n)
public static boolean validmountainarray1(int a)
if (left == 0 || left == right)
while (left + 1 <= right && a[left] > a[left+1])
return left == right;
}
941 有效的山脈陣列
941.有效的山脈陣列 author wsq date 2020 11 3 給定乙個整數陣列 a,如果它是有效的山脈陣列就返回 true,否則返回 false。讓我們回顧一下,如果 a 滿足下述條件,那麼它是乙個山脈陣列 a.length 3 在 0 i a.length 1 條件下,存在 i 使得...
Leetcode NO 941 有效的山脈陣列
給定乙個整數陣列 a,如果它是有效的山脈陣列就返回 true,否則返回 false。讓我們回顧一下,如果 a 滿足下述條件,那麼它是乙個山脈陣列 a.length 3 在 0 i a.length 1 條件下,存在 i 使得 示例 1 輸入 2,1 輸出 false 示例 2 輸入 3,5,5 輸出...
LeetCode 941 有效的山脈陣列
從前往後遍歷找到第乙個遞減的位置,從後往前找到遞增的位置,最後看這兩個位置是不是一樣 線性掃瞄 按題意模擬即可。我們從陣列的最左側開始向右掃瞄,直到找到第乙個不滿足 a i a j 1 a j a j 1 a j a j 1 若都滿足就返回 true texttrue,否則返回 false text...