一个排好序的数组,找出两数之和为x的所有组合双指针
Posted Roni
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了一个排好序的数组,找出两数之和为x的所有组合双指针相关的知识,希望对你有一定的参考价值。
#include <bits/stdc++.h>
using namespace std;
const int N = 1e6,INF = 0x3f3f3f3f;
int a[N];
int n,x;
void fun(int n)
{
int left = 0, right = n-1;
while(left < right)
{
int ans=a[left] + a[right];
if(ans == x)
{
cout<<a[left]<<' '<<a[right]<<endl;
left++, right--;
}
else if(ans < x)
{
left++;
}
else if(ans > x)
{
right--;
}
}
}
int main()
{
cin>>n>>x;
for(int i=0;i<n;i++) {
cin>>a[i];
}
fun(n);
}
/*
9 16
1 2 3 5 6 7 11 13 15
*/
以上是关于一个排好序的数组,找出两数之和为x的所有组合双指针的主要内容,如果未能解决你的问题,请参考以下文章