在php中,不知你有沒有聽過這樣一個陣列叫做山脈陣列。今天我們就來好好介紹一下山脈數組,有需要的小夥伴可以參考參考。
有效的山脈陣列
給給定整數陣列 A,如果它是有效的山脈陣列就回傳 true,否則返回false。
讓我們回顧一下,如果A 滿足下述條件,那麼它就是一個山脈數組:
A.length >= 3
在 0
A[0]
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
#解題思路
雙指針一個從前往後跑,一個從後往前跑,最終能相遇在中間就可以。
注意臨界條件: 如果 left 或 right 沒有移動,表示是單調遞增或是遞減的數組,依然不是山峰。
class Solution { /** * @param Integer[] $A * @return Boolean */ function validMountainArray($A) { if (count($A) < 3) return false; $left = 0; $right = count($A) - 1; // 注意防止越界 while ($left < count($A) - 1 && $A[$left] < $A[$left + 1]) $left++; // 注意防止越界 while ($right > 0 && $A[$right] < $A[$right - 1]) $right--; // 如果left或者right都在起始位置,说明不是山峰 if ($left == $right && $left != 0 && $right != count($A) - 1) return true; return false; }}
推薦學習:php影片教學
#以上是聊聊php中的山脈數組的詳細內容。更多資訊請關注PHP中文網其他相關文章!