和为s的两个数字VS和为s的连续正数序列
1. 和为s的两个数字;
1)思路:
假设数组升序排列:
定义两个指针min 和max;
如果这两个指针指向的数字等于sum,则找到;
如果和小于sum,则将min向右移;
如果和大于sum,则将max向左移。
2)代码:
#include <iostream>
#include<vector>
using namespace std;
vector<int> FindNumbersWithSum(vector<int> array,int sum)
{
vector<int> res;
res.clear();
int length=array.size();
int Min=0, Max=length-1;
while(Min<Max)
{
if((array[Min]+array[Max])==sum)
{
res.push_back(a