Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Javascript

ผลรวมของสององค์ประกอบที่น้อยกว่า n ใน JavaScript


เราจำเป็นต้องเขียนฟังก์ชัน JavaScript ที่รับอาร์เรย์ของตัวเลข arr เป็นอาร์กิวเมนต์แรกและตัวเลขเดี่ยว num เป็นอาร์กิวเมนต์ที่สอง

ฟังก์ชันควรค้นหาตัวเลขสองตัวดังกล่าวซึ่งมีผลรวมมากที่สุดในอาร์เรย์แต่น้อยกว่าจำนวนตัวเลข หากไม่มีตัวเลขสองตัวดังกล่าวซึ่งมีผลรวมน้อยกว่า num ฟังก์ชันของเราควรคืนค่า -1

ตัวอย่างเช่น −

หากอาร์เรย์อินพุตและตัวเลขเป็น −

const arr = [34, 75, 33, 23, 1, 24, 54, 8];
const num = 60;

จากนั้นผลลัพธ์ควรเป็น −

const output = 58;

เพราะ 34 + 24 คือผลรวมที่มากที่สุดซึ่งน้อยกว่า 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