問題描述
給定乙個整數陣列a,如果它是有效的山脈陣列就返回true,否則返回false。
讓我們回顧一下,如果a滿足下述條件,那麼它是乙個山脈陣列:
示例 1:
輸入:[2,1]示例 2:輸出:false
輸入:[3,5,5]示例 3:輸出:false
輸入:[0,3,2,1]從兩邊找這題讓判斷乙個陣列是否是有效山峰陣列,所謂有效山峰陣列就是在陣列中有且僅有乙個最大值,並且最大值往前走是降序的,往後走也是降序的。一種簡單的解決方式就是使用兩個變數left和right,我們也可以把它看做是兩個指標,left從陣列的前面開始,如果是公升序的就一直找,直到遇到降序的時候停止,right從陣列後面往前找,如果是公升序的就一直找,直到遇到降序的時候停止。然後再判斷left和right是否相等。如下圖所示輸出:true
來看下**
public
boolean
validmountainarray
(int
a)
從一邊找從一邊找的思路就是,先從左邊開始找到山峰,然後再從山峰開始往右邊下山,如果能走到陣列的最後乙個元素,說明是有效山峰。
public
boolean
validmountainarray
(int
a)
總結這題只要找到陣列中的最大值,然後判斷最大值前面部分是公升序的(從陣列的第乙個元素開始到最大值),後面部分是降序的即是有效的山脈陣列。
判斷指標是否有效 475,有效的山脈陣列
問題描述 給定乙個整數陣列a,如果它是有效的山脈陣列就返回true,否則返回false。讓我們回顧一下,如果a滿足下述條件,那麼它是乙個山脈陣列 示例 1 輸入 2,1 輸出 false 示例 2 輸入 3,5,5 輸出 false 示例 3 輸入 0,3,2,1 輸出 true 1,從兩邊找這題讓...
es6 陣列找最大值 475,有效的山脈陣列
問題描述 給定乙個整數陣列a,如果它是有效的山脈陣列就返回true,否則返回false。讓我們回顧一下,如果a滿足下述條件,那麼它是乙個山脈陣列 示例 1 輸入 2,1 輸出 false示例 2 輸入 3,5,5 輸出 false示例 3 輸入 0,3,2,1 輸出 true1,從兩邊找這題讓判斷乙...
有效的山脈陣列
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...