আমাদের একটি জাভাস্ক্রিপ্ট ফাংশন লিখতে হবে যা একটি সংখ্যার অ্যারে (arr) প্রথম আর্গুমেন্ট এবং একটি একক সংখ্যা (num) দ্বিতীয় আর্গুমেন্ট হিসেবে গ্রহণ করবে।
ফাংশনটি তারপর দুটি এমন সংখ্যা খুঁজে বের করবে যাদের যোগফল অ্যারেতে সর্বোচ্চ কিন্তু num থেকে ঠিক কম। যদি এমন দুটি সংখ্যা না থাকে যাদের যোগফল num থেকে কম, তবে ফাংশনটি -1 রিটার্ন করবে।
উদাহরণস্বরূপ —
ইনপুট অ্যারে এবং সংখ্যা যদি হয় —
const arr = [34, 75, 33, 23, 1, 24, 54, 8]; const num = 60;
তাহলে আউটপুট হবে —
const output = 58;
কারণ 34 + 24 = 58 যা 60 থেকে কম কিন্তু সর্বোচ্চ সম্ভব যোগফল।
উদাহরণ
কোডটি নিচে দেওয়া হলো —
const arr = [34, 75, 33, 23, 1, 24, 54, 8]; const num = 60;
const lessSum = (arr = [], num = 1) => {
arr.sort((a, b) => a - b);
let max = -1;
let i = 0;
let j = arr.length - 1;
while(i < j){
let sum = arr[i] + arr[j];
if(sum < num){
max = Math.max(max,sum);
i++;
}else{
j--;
};
};
return max;
};
console.log(lessSum(arr, num));
আউটপুট
কনসোল আউটপুট:
58