हमें एक जावास्क्रिप्ट फ़ंक्शन लिखना आवश्यक है जो पहले तर्क के रूप में संख्याओं की एक सरणी और दूसरे तर्क के रूप में एक संख्या लेता है। फ़ंक्शन को ऐसे सभी ट्रिपल (लगातार या गैर-लगातार) की एक सरणी तैयार करनी चाहिए और वापस करनी चाहिए, जो दूसरे तर्क द्वारा निर्दिष्ट संख्या में जुड़ती है।
उदाहरण के लिए -
अगर इनपुट ऐरे और नंबर हैं -
const arr = [4, 2, 0, 1, 2, 6, 8, 3, 2, 5]; const num = 8;
तब आउटपुट ऐरे होना चाहिए -
const output = [ [ 2, 2, 4 ], [ 1, 3, 4 ], [ 0, 2, 6 ], [ 1, 2, 5 ] ];
उदाहरण
निम्नलिखित कोड है -
const arr = [4, 2, 0, 1, 2, 6, 8, 3, 2, 5]; const num = 8; const tripletSum = (arr, num) => { if (arr.length === 3) { if (arr[0]+arr[1]+arr[2] === 0) { return [[arr[0],arr[1],arr[2]]]; }; }; const results = []; const hashMap = {}; for (var i=0; i<arr.length; i++) { for (var j=i+1; j<arr.length; j++) { for (var k=j+1; k<arr.length; k++) { if (arr[i]+arr[j]+arr[k] === num) { if (!hashMap[arr[i]*arr[j]*arr[k]]) { results.push([arr[i],arr[j],arr[k]]); results[results.length-1].sort(); hashMap[arr[i]*arr[j]*arr[k]] = true; } } } } } return results; }; console.log(tripletSum(arr, num));
आउटपुट
कंसोल आउटपुट निम्नलिखित है -
[ [ 2, 2, 4 ], [ 1, 3, 4 ], [ 0, 2, 6 ], [ 1, 2, 5 ] ]