聊聊php中的山脈數組

醉折花枝作酒筹
發布: 2023-03-11 10:24:02
轉載
1682 人瀏覽過

在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 <= 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中文網其他相關文章!

相關標籤:
php
來源:hxd.life
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板