ZJGSU 1858在数组中查找两个数之和等于输入的另一个数

描述

题目:输入一个已经按升序排序过的数组和一个数字,

在数组中查找两个数,使得它们的和正好是输入的那个数字。如果有多对数字的和等于输入的数字,输出任意一对即可。

例如输入数组1、2、4、7、11、15和数字15。由于4+11=15,因此输出4和11。

输入

输入:

1 2 4 7 11 15

15

输出

输出:

4 11

输入样例 1  点击复制

1 2 4 7 11 15

15

输出样例 1

4 11

思路:

这道题的队列做法,头指针和尾指针指向的数字的和与输入数字对比,大了则尾指针往前移动,小了则头指针往后移动。

#include<stdio.h>
#include<string.h>
struct queue{
	int a[1001];
	int front;
	int rear;
	int maxsize;
};
int main()
{
	struct queue q;
	int n,cnt=0;
	char b;
	while(1)
	{
		scanf("%d%c",&n,&b);
		q.a[cnt++]=n;
		if(b=='\n')break;
	}
	int ans;
	scanf("%d",&ans);
	q.maxsize=cnt;
	q.front=0;
	q.rear=cnt-1;
	while(q.front<q.rear)
	{
		if(q.a[q.front]+q.a[q.rear]==ans)
		{
			printf("%d %d",q.a[q.front],q.a[q.rear]);
			break;
		}
		else if(q.a[q.front]+q.a[q.rear]<ans)
		{
			q.front++;
		}
		else{
			q.rear--;
		}
	}
	
}

最近更新

  1. TCP协议是安全的吗?

    2024-04-04 19:24:01       16 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-04-04 19:24:01       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-04-04 19:24:01       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-04-04 19:24:01       18 阅读

热门阅读

  1. 久菜盒子|留学|推荐信|international trade(国际贸易)

    2024-04-04 19:24:01       16 阅读
  2. 穿透 雪崩 击穿

    2024-04-04 19:24:01       20 阅读
  3. FastGpt流程

    2024-04-04 19:24:01       16 阅读
  4. 视觉和热成像技术在反无人机中应用

    2024-04-04 19:24:01       17 阅读
  5. RESTfull接口访问Elasticsearch

    2024-04-04 19:24:01       16 阅读
  6. python作用域

    2024-04-04 19:24:01       11 阅读
  7. Spring如何解决循环依赖

    2024-04-04 19:24:01       17 阅读