समस्या
हमें एक जावास्क्रिप्ट फ़ंक्शन लिखना आवश्यक है जो एक सरणी लेता है, एआर, जो एक-आयामी अंतरिक्ष में विभिन्न क्षुद्रग्रहों की स्थिति का प्रतिनिधित्व करता है।
प्रत्येक क्षुद्रग्रह के लिए, निरपेक्ष मान उसके आकार का प्रतिनिधित्व करता है, और चिन्ह उसकी दिशा का प्रतिनिधित्व करता है (सकारात्मक अर्थ दाएं, नकारात्मक अर्थ बाएं)। प्रत्येक क्षुद्रग्रह समान गति से चलता है।
हमारा कार्य सभी टकरावों के बाद क्षुद्रग्रहों की स्थिति का पता लगाना है। यदि दो क्षुद्रग्रह आपस में मिलते हैं, तो छोटे वाले में विस्फोट हो जाएगा। यदि दोनों एक ही आकार के हों, तो दोनों फट जाएंगे। एक ही दिशा में गति करने वाले दो क्षुद्रग्रह कभी नहीं मिलेंगे।
उदाहरण के लिए, यदि फ़ंक्शन का इनपुट है -
इनपुट
const arr = [1, 7, 3, 6, 5, 6];
आउटपुट
const output = 3;
आउटपुट स्पष्टीकरण
इंडेक्स 3 के बाईं ओर की संख्याओं का योग (अंक [3] =6) इंडेक्स 3 के दाईं ओर की संख्याओं के योग के बराबर है।
साथ ही, 3 पहला सूचकांक है जहां ऐसा होता है।
उदाहरण
निम्नलिखित कोड है -
const arr = [1, 7, 3, 6, 5, 6]; const medianIndex = (arr = []) => { let sum = arr.reduce((acc, num) => acc + num, 0) let currentSum = 0 for (let i = 0; i < arr.length; i++) { currentSum += (arr[i - 1] || 0) sum -= arr[i] if (currentSum === sum) { return i } } return -1 } console.log(medianIndex(arr));
आउटपुट
3