हमें एक JavaScript फ़ंक्शन लिखना है जो संख्याओं की सरणी लेता है। फ़ंक्शन को मूल सरणी से दो आसन्न तत्वों की उप-सरणी वापस करनी चाहिए जिनका योग सरणी के सभी आसन्न जोड़ियों में सबसे कम हो।
यदि सरणी की लंबाई 2 से कम है, तो हमें बूलियन false वापस करना चाहिए।
उदाहरण के लिए, यदि इनपुट सरणी है:
const arr = [41, 44, -12, 13, -23, 1, 5, -4, 2, 2];
यहां, जोड़ी [-23, 1] का योग -22 है जो सरणी के किन्हीं दो आसन्न तत्वों के लिए सबसे कम है, इसलिए फ़ंक्शन [-23, 1] वापस करना चाहिए।
इसके लिए कोड:
const arr = [41, 44, -12, 13, -23, 1, 5, -4, 2, 2];
const leastSum = arr => {
if (arr.length <= 2) {
return false;
}
const creds = arr.reduce((acc, val, ind) => {
let { smallest, startIndex } = acc;
const next = arr[ind + 1];
if (!next) {
return acc;
}
const sum = val + next;
if (sum < smallest) {
startIndex = ind;
smallest = sum;
}
return { startIndex, smallest };
}, {
smallest: Infinity,
startIndex: -1
});
const { startIndex } = creds;
return [arr[startIndex], arr[startIndex + 1]];
};
console.log(leastSum(arr));
कंसोल पर आउटपुट:
[-23, 1]