首頁  >  文章  >  後端開發  >  聊聊php中的山脈數組

聊聊php中的山脈數組

醉折花枝作酒筹
醉折花枝作酒筹轉載
2021-07-07 15:27:351676瀏覽

在php中,不知你有沒有聽過這樣一個陣列叫做山脈陣列。今天我們就來好好介紹一下山脈數組,有需要的小夥伴可以參考參考。

聊聊php中的山脈數組

有效的山脈陣列

給給定整數陣列 A,如果它是有效的山脈陣列就回傳 true,否則返回false。

讓我們回顧一下,如果A 滿足下述條件,那麼它就是一個山脈數組:

聊聊php中的山脈數組

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

  • #0

#解題思路

雙指針一個從前往後跑,一個從後往前跑,最終能相遇在中間就可以。

注意臨界條件: 如果 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中文網其他相關文章!

陳述:
本文轉載於:hxd.life。如有侵權,請聯絡admin@php.cn刪除