ホームページ  >  記事  >  バックエンド開発  >  PHP のマウンテン配列について話しましょう

PHP のマウンテン配列について話しましょう

醉折花枝作酒筹
醉折花枝作酒筹転載
2021-07-07 15:27:351677ブラウズ

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
  • # #問題-アイデアを解決する

2 つのポインタのうち 1 つは前から後ろに、もう 1 つは後ろから前に実行します。最終的に中央で交わることができます。 重大な条件に注意してください。左または右が動かない場合、それは単調増加または単調減少の配列であり、まだ山ではないことを意味します。

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 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はhxd.lifeで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。