如何找出数列中符合条件的数对的个数

来源:互联网 发布:linux中连接本地 编辑:程序博客网 时间:2024/05/30 02:52

一个整数数组,元素取值范围可能是1~N中的任意一个数,相同数值不会重复出现。设计一个算法,找出数列中符合条件的数对的个数,满足数对中两数的和等于N+1;
代码

#include <stdio.h>void FixedSum(int* a,int n,int d){    for(int i = 0,j = n-1;i<n&&j>=0&&i<j;){        if(a[i]+a[j]<d)            ++i;        else if(a[i]+a[j]>d)            --j;        else if(a[i]+a[j]==d){            printf("%d,%d\n",a[i],a[j]);            ++i;            --j;        }    }}int main(){    int array[] ={1,2,3,4,5};    int len = sizeof(array)/sizeof(array[0]);    FixedSum(array,len,6);   //1,5   2,4    return 0;}       
阅读全文
0 0
原创粉丝点击