leetcode的一道演算法題:
給定乙個整數陣列 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
分析:這道題的的意思是,如果乙個整數陣列滿足從左至右依次遞增到最大值後,再依次遞減,則該陣列為乙個山脈陣列。這樣我們可以從該陣列的兩端依次向中間尋找那個最大值,如果滿足從左至右依次增加且從右至左也依次增加的那個最大值的索引相同,並且保證該陣列是先依次增加再依次減少,則可返回true。
**如下:
public
boolean
validmountainarray
(int
a)while
(right >
0&& a[right]
< a[right -1]
)return
(left !=
0&& right != length && left == right)
;}
或者:
public
boolean
validmountainarray
(int
a)
941 有效的山脈陣列
941.有效的山脈陣列 author wsq date 2020 11 3 給定乙個整數陣列 a,如果它是有效的山脈陣列就返回 true,否則返回 false。讓我們回顧一下,如果 a 滿足下述條件,那麼它是乙個山脈陣列 a.length 3 在 0 i a.length 1 條件下,存在 i 使得...
941 有效的山脈陣列
給定乙個整數陣列 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.lengt...
475,有效的山脈陣列
問題描述 給定乙個整數陣列a,如果它是有效的山脈陣列就返回true,否則返回false。讓我們回顧一下,如果a滿足下述條件,那麼它是乙個山脈陣列 示例 1 輸入 2,1 輸出 false 示例 2 輸入 3,5,5 輸出 false 示例 3 輸入 0,3,2,1 輸出 true 從兩邊找這題讓判斷...