समस्या
हमें एक JavaScript फ़ंक्शन लिखना है जो एक सरणी, arr, लेता है जो एक-आयामी स्थान में विभिन्न क्षुद्रग्रहों की स्थितियों को दर्शाती है।
प्रत्येक क्षुद्रग्रह के लिए, निरपेक्ष मान उसके आकार को दर्शाता है, और चिह्न उसकी दिशा को दर्शाता है (धनात्मक का अर्थ दाएं, ऋणात्मक का अर्थ बाएं)। प्रत्येक क्षुद्रग्रह समान गति से चलता है।
हमारा फ़ंक्शन सभी टकरावों के बाद क्षुद्रग्रहों की स्थिति ढूंढने वाला है। यदि दो क्षुद्रग्रह मिलते हैं, तो छोटा वाला फट जाएगा। यदि दोनों समान आकार के हैं, तो दोनों फट जाएंगे। एक ही दिशा में चलने वाले दो क्षुद्रग्रह कभी नहीं मिलेंगे।
उदाहरण के लिए, यदि फ़ंक्शन का इनपुट है -
इनपुट
const arr = [1, 7, 3, 6, 5, 6];
आउटपुट
const output = 3;
आउटपुट व्याख्या
इंडेक्स 3 के बाईं ओर की संख्याओं का योग (nums[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