475,有效的山脈陣列

2021-10-10 16:17:03 字數 1358 閱讀 8343

問題描述

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

讓我們回顧一下,如果a滿足下述條件,那麼它是乙個山脈陣列:

示例 1:

輸入:[2,1]

輸出:false

示例 2:

輸入:[3,5,5]

輸出:false

示例 3:

輸入:[0,3,2,1]

輸出:true

從兩邊找這題讓判斷乙個陣列是否是有效山峰陣列,所謂有效山峰陣列就是在陣列中有且僅有乙個最大值,並且最大值往前走是降序的,往後走也是降序的。一種簡單的解決方式就是使用兩個變數left和right,我們也可以把它看做是兩個指標,left從陣列的前面開始,如果是公升序的就一直找,直到遇到降序的時候停止,right從陣列後面往前找,如果是公升序的就一直找,直到遇到降序的時候停止。然後再判斷left和right是否相等。如下圖所示

來看下**

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...