बीच में चोटी वाली सरणी
हम किसी ऐरे एर को सेंट्रली पीक्ड ऐरे . कहते हैं यदि निम्नलिखित गुण धारण करते हैं -
-
गिरफ्तारी लंबाई>=3
-
0
-
arr[0]
-
arr[i]> arr[i+1]> ...> arr[arr.length - 1]
-
समस्या
हमें एक जावास्क्रिप्ट फ़ंक्शन लिखना आवश्यक है जो संख्याओं की एक सरणी लेता है, एआर, पहले और एकमात्र तर्क के रूप में।
इनपुट सरणी एक केंद्रीय शिखर वाली सरणी है। हमारा कार्य इस केंद्रीय शिखर वाले सरणी के शिखर सूचकांक को वापस करने वाला है।
उदाहरण के लिए, यदि फ़ंक्शन का इनपुट है
इनपुट
const arr = [4, 6, 8, 12, 15, 11, 7, 4, 1];
आउटपुट
const output = 4;
आउटपुट स्पष्टीकरण
क्योंकि इंडेक्स 4 (15) पर मौजूद एलिमेंट इस ऐरे का चरम एलिमेंट है।
उदाहरण
निम्नलिखित कोड है -
const arr = [4, 6, 8, 12, 15, 11, 7, 4, 1]; const findPeak = (arr = []) => { if(arr.length < 3) { return -1 } const helper = (low, high) => { if(low > high) { return -1 } const middle = Math.floor((low + high) / 2) if(arr[middle] <= arr[middle + 1]) { return helper(middle + 1, high) } if(arr[middle] <= arr[middle - 1]) { return helper(low, middle - 1) } return middle } return helper(0, arr.length - 1) }; console.log(findPeak(arr));
आउटपुट
4