Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- class Solution {
- public:
- int longestMountain(vector<int>& arr) {
- int ans=0, i=1;
- while(i<arr.size()){
- // Sideward move.
- while(i<arr.size() && arr[i] == arr[i-1])
- i++;
- // Upward move.
- int up = 0;
- while(i<arr.size() && arr[i] > arr[i-1])
- up++,i++;
- // Downward move.
- int down = 0;
- while(i<arr.size() && arr[i] < arr[i-1])
- down++, i++;
- if(up && down) ans = max(ans, up+down+1);
- }
- return ans;
- }
- };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement