हमें एक JavaScript फ़ंक्शन लिखना है जो पहले और एकमात्र तर्क के रूप में संख्याओं की एक सरणी लेता है।
फ़ंक्शन को फिर सरणी से एक ऐसा तत्व हटाने का प्रयास करना चाहिए, जिसके हटाने पर, विषम सूचकांकों पर तत्वों का योग सम सूचकांकों पर तत्वों के योग के बराबर हो जाए। इस तरह, फ़ंक्शन को उन सभी संभावित अद्वितीय तरीकों की गिनती करनी चाहिए जिनसे हम एक समय में एक तत्व हटाकर आवश्यक संयोजन प्राप्त कर सकते हैं।
उदाहरण के लिए -
यदि इनपुट सरणी है -
const arr = [2, 6, 4, 2];
तो आउटपुट 2 होना चाहिए क्योंकि, सूचकांक 1 और 3 पर दो तत्व 6 और 2 हैं जो संयोजन तालिका बनाते हैं।
जब हम सरणी से 6 हटाते हैं -
[2, 4, 2] तो विषम सूचकांकों पर योग = सम सूचकांकों पर योग = 4
जब हम सरणी से 2 हटाते हैं -
[2, 6, 4] तो विषम सूचकांकों पर योग = सम सूचकांकों पर योग = 6
उदाहरण
निम्नलिखित कोड देखें:
const arr = [2, 6, 4, 2];
const possibleWays = (arr = []) => {
const sum = new Array(arr.length);
let res = 0;
let oddSum = 0;
let evenSum = 0;
for (let i = 0; i < arr.length; ++i) {
if (i % 2 === 0) sum[i] = (evenSum += arr[i]);
else sum[i] = (oddSum += arr[i]);
}
for (let i = 0; i < arr.length; ++i) {
if (i % 2 === 0) {
if (2 * sum[i] - arr[i] + oddSum === 2 * (sum[i - 1] || 0) + evenSum) ++res;
} else if (2 * sum[i] - arr[i] + evenSum === 2 * (sum[i - 1] || 0) + oddSum) {
++res;
}
}
return res;
};
console.log(possibleWays(arr));
आउटपुट
कंसोल आउटपुट निम्नलिखित है -
2