JavaScript 中小於 n 的兩個元素的和\n
我們要求編寫一個 JavaScript 函式,該函式接受一個數字陣列 arr 作為第一個引數和一個數字 num 作為第二個引數。
然後,該函式應該找到陣列中兩個數字的和最大且恰好小於數字 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
廣告