845. 数组中的最长山脉

xiaoxiao2025-10-24  11

845. 数组中的最长山脉

 

 

 

class Solution { public: bool confine = false, begin = false; int longestMountain(vector<int>& A) { if (A.size()<3) { return 0; } vector<int>num = A; int ans = 0, left = 0, len = 0; for (int right = 0; right < num.size()-1; right++) { if (!begin) { if (num[right] < num[right + 1]) { len++; left = right; begin = true; } } else { if (!confine) { if (num[right] > num[right + 1]) { confine = true; } else if (num[right] == num[right + 1]) begin = 0; } else { if (num[right] <= num[right + 1]) { confine = 0; begin = 0; ans = max(ans, right - left + 1); right--; } } } } if (begin&&confine) { ans = max(ans, (int)num.size() - left); } return ans; } };

 

转载请注明原文地址: https://www.6miu.com/read-5038450.html

最新回复(0)