題目: LeetCode - 941. Valid Mountain Array

解題思路

紀錄陣列第一次下降後,是否還有出現下降即可,需要注意的是,由於需要嚴格遞增跟嚴格遞減同時在陣列中出現,所以需要另外紀錄是否有嚴格遞增存在。

參考解法

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
class Solution {
public:
bool validMountainArray(vector<int>& arr) {
int n = arr.size();
if (n < 3) return false;

bool firstDown = false;
bool isIncrease = false;

for (int i = 1; i < arr.size(); ++i) {
if (arr[i] > arr[i - 1]) {
isIncrease = true;
if (firstDown) return false;
}
else if (arr[i] < arr[i - 1]) firstDown = true;
else return false;
}

return firstDown && isIncrease;
}
};