हमें एक जावास्क्रिप्ट फ़ंक्शन लिखना है जो संख्याओं की एक सरणी लेता है। फ़ंक्शन को मूल सरणी से दो आसन्न तत्वों का एक उप-सरणी लौटाना चाहिए, जिसका योग सरणी के सभी आसन्न युग्मों में सबसे कम है।
यदि सरणी की लंबाई 2 से कम है, तो हमें बूलियन असत्य वापस करना चाहिए।
उदाहरण के लिए, यदि इनपुट ऐरे है -
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]