给大家看看倒数第一名的解法:
(手动狗头)
循环+二分查找
```class Solution {
public:
int BinarySearch(vector<int> array,int n,int temp)
{
int left=0;int right=n;
while(left<right)
{
int mid=(left+right)/2;
if(temp==array[mid]) return mid;
if(temp>array[mid]) left=mid+1;
if(temp<array[mid]) right=mid;
}
return {};
}
vector<int> FindNumbersWithSum(vector<int> array,int sum) {
vector<int> v;
int n=array.size();
for(int i=0;i<n;i++)
{
int temp=sum-array[i];
int x=BinarySearch(array,n,temp);
if(x>=1)
{
v.push_back(array[x]);
v.push_back(array[i]);
break;
}
}
return v;
}
};