हमें एक JavaScript फ़ंक्शन लिखना है जो पहले और एकमात्र तर्क के रूप में पूर्णांकों की एक सरणी लेता है।
फ़ंक्शन को सरणी में मौजूद सबसे लंबे लगातार बढ़ते अनुक्रम की लंबाई ढूंढकर वापस करनी चाहिए (सन्निकट या गैर-सन्निकट)।
उदाहरण के लिए -
यदि इनपुट सरणी है -
const arr = [4, 6, 9, 1, 2, 8, 5, 3, -1];
तो आउटपुट 6 होना चाहिए क्योंकि सबसे लंबा लगातार बढ़ता अनुक्रम 1, 2, 3, 4, 5, 6 है।
उदाहरण
निम्नलिखित कोड देखें:
const arr = [4, 6, 9, 1, 2, 8, 5, 3, -1];
const consecutiveSequence = (arr = []) => {
const consecutiveRight = {};
let max = 0;
for (let i = 0; i < arr.length; i += 1) {
let curr = arr[i];
if (consecutiveRight[curr] !== undefined) {
continue; // We already have this number.
}
consecutiveRight[curr] = 1 + (consecutiveRight[curr + 1] || 0);
while (consecutiveRight[curr - 1] !== undefined) {
consecutiveRight[curr - 1] = consecutiveRight[curr] + 1;
curr -= 1;
}
max = Math.max(max, consecutiveRight[curr]);
}
return max;
};
console.log(consecutiveSequence(arr));
आउटपुट
कंसोल आउटपुट निम्नलिखित है -
6