
- Javascript Basics Tutorial
- Javascript - Home
- Javascript - Overview
- Javascript - Syntax
- Javascript - Enabling
- Javascript - Placement
- Javascript - Variables
- Javascript - Operators
- Javascript - If...Else
- Javascript - Switch Case
- Javascript - While Loop
- Javascript - For Loop
- Javascript - For...in
- Javascript - Loop Control
- Javascript - Functions
- Javascript - Events
- Javascript - Cookies
- Javascript - Page Redirect
- Javascript - Dialog Boxes
- Javascript - Void Keyword
- Javascript - Page Printing
- JavaScript Objects
- Javascript - Objects
- Javascript - Number
- Javascript - Boolean
- Javascript - Strings
- Javascript - Arrays
- Javascript - Date
- Javascript - Math
- Javascript - RegExp
- Javascript - HTML DOM
- JavaScript Advanced
- Javascript - Error Handling
- Javascript - Validations
- Javascript - Animation
- Javascript - Multimedia
- Javascript - Debugging
- Javascript - Image Map
- Javascript - Browsers
- JavaScript Useful Resources
- Javascript - Questions And Answers
- Javascript - Quick Guide
- Javascript - Functions
- Javascript - Resources
Maximum length of mountain in an array using JavaScript
Mountain Subsequence
We call any (contiguous) subarray sub (of arr) a mountain if the following properties hold −
sub.length >= 3
There exists some 0 < i < sub.length - 1 such that sub[0] < sub[1] < ... sub[i-1] < sub[i] > B[i+1] > ... > sub[sub.length - 1]
Problem
We are required to write a JavaScript function that takes in an array of numbers, arr, as the first and the only argument.
Our function is supposed to return the length of the greatest mountain subsequence present in the array arr, if there exists any, 0 otherwise.
For example, if the input to the function is
Input
const arr = [3, 2, 5, 8, 4, 3, 6];
Output
const output = 5;
Output Explanation
Because the desired subarray is −
[2, 5, 8, 4, 3]
Example
Following is the code −
const arr = [3, 2, 5, 8, 4, 3, 6]; const mountainLength = (arr = []) => { let max = 0 for(let left = 0; left < arr.length; left++) { let right = left while(arr[right] < arr[right + 1]) { right++ } const top = right while(right > left && arr[right] > arr[right + 1]) { right++ } if(right > top && top > left) { max = Math.max(max, right - left + 1) left = right left-- } } return max } console.log(mountainLength(arr));
Output
5
- Related Articles
- Valid Mountain Array in Python
- How to find maximum value in an array using spread operator in JavaScript?
- Longest Mountain in Array in C++
- Maximum subarray sum in circular array using JavaScript
- How to find the length of an array in JavaScript?
- Finding maximum length of common subarray in JavaScript
- Maximum length product of unique words in JavaScript
- How to find the maximum value of an array in JavaScript?
- Rearrange an array in maximum minimum form by JavaScript
- JavaScript Finding the third maximum number in an array
- Finding even length numbers from an array in JavaScript
- Rearrange an Array in Maximum Minimum Form using C++
- JavaScript - length of array objects
- Return the maximum number in each array using map JavaScript
- Maximum average of a specific length of subarray in JavaScript

Advertisements