描述
输入一个递增排序的数组和一个数字S,在数组中查找两个数,使得他们的和正好是S,如果有多对数字的和等于S,输出两个数的乘积最小的。
返回值描述:
对应每个测试案例,输出两个数,小的先输出。
示例1
输入:
[1,2,4,7,11,15],15
复制返回值:
[4,11]
题解:
双指针+贪心算法解题:
function FindNumbersWithSum(array, sum)
{
// write code here
let l = 0
let r = array.length-1
while(l<r){
if(array[l]+array[r] == sum){
return [array[l],array[r]]
}
if(array[l]+array[r] > sum){
r--
}else{
l++
}
}
return []
}
module.exports = {
FindNumbersWithSum : FindNumbersWithSum
};
本文介绍了如何使用双指针和贪心算法解决寻找递增排序数组中和为特定值的两个数的问题。提供的示例代码展示了在数组[1,2,4,7,11,15]中找到和为15的两个数,返回最小乘积的解法。算法通过从两端向中间搜索,不断调整指针位置,以达到目标和并找到最小乘积的组合。
276

被折叠的 条评论
为什么被折叠?



