আমাদের একটি জাভাস্ক্রিপ্ট ফাংশন লিখতে হবে যা প্রথম আর্গুমেন্ট হিসেবে নম্বরগুলোর একটি অ্যারে এবং دوم আর্গুমেন্ট হিসেবে একটি নম্বর নেবে। ফাংশনটি সকল olyan ট্রিপলেট (কনসিকিউটিভ বা নন-কনসিকিউটিভ) প্রিপেয়ার করে রিটার্ন করবে যেগুলোর যোগফল دوم আর্গুমেন্টে নির্দিষ্ট নম্বরের সমান।
উদাহরণস্বরূপ:
যদি ইনপুট অ্যারে এবং নম্বর হয়:
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 ] ]