解题思路:
(1)考察的是n个数的组合问题
(2)注意当两个数大于给定值时,跳出循环,减少耗时
class Solution {
public:
vector<int> FindNumbersWithSum(vector<int> array,int sum) {
vector<int> v;
for(int i=0;i<array.size();i++) {
int j=i+1;
while(j<array.size()) {
if(array[i]+array[j]<sum) j++;
else if(array[i]+array[j]>sum) break;
else {
v.push_back(array[i]);
v.push_back(array[j]);
return v;
}
}
}
return v;
}
};

本文介绍了一种解决寻找特定和数对问题的算法。通过分析数组中的元素,使用双指针技巧,当两个数之和等于给定值时返回这两个数。此方法能有效减少搜索时间,适用于n个数的组合问题。
394

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



