समस्या
हमें एक JavaScript फ़ंक्शन लिखना है जो संख्याओं की एक सरणी arr को पहले और एकमात्र आर्गुमेंट के रूप में लेता है।
हमारे फ़ंक्शन को जांचना चाहिए कि इनपुट सरणी केंद्रीय रूप से चोटीदार सरणी है या नहीं। यदि यह केंद्रीय रूप से चोटीदार सरणी है, तो हमें true वापस करना चाहिए, अन्यथा false।
केंद्रीय रूप से चोटीदार सरणी होने की शर्तें हैं -
arr.length >= 3
कुछ i मौजूद है जहां 0 < i < arr.length - 1 जैसे कि:
arr[0] < arr[1] < ... arr[i-1] < arr[i]
arr[i] > arr[i+1] > ... > arr[arr.length - 1]
उदाहरण के लिए, यदि फ़ंक्शन का इनपुट है -
const arr = [2, 6, 7, 9, 5, 3, 1];
तो आउटपुट होना चाहिए -
const output = true;
आउटपुट व्याख्या
क्योंकि सरणी 9 पर चोटी पर है।
उदाहरण
इसके लिए कोड होगा -
const arr = [2, 6, 7, 9, 5, 3, 1];
const isCentrallyPeaked = (arr = []) => {
let ind = undefined;
for (let i = 1; i <= arr.length - 1; i++) {
if (ind === undefined) {
if (arr[i] < arr[i - 1]) {
ind = i - 1;
} else if (arr[i] === arr[i - 1]) {
return false;
}
} else if (arr[i] >= arr[i - 1]) {
return false;
}
}
return ind > 0 && ind < arr.length - 1;
};
console.log(isCentrallyPeaked(arr));
आउटपुट
कंसोल में आउटपुट होगा -
true