当前位置: 首页 > news >正文

【OJ】A+B=X

在这里插入图片描述


📚Description:

数列S中有n个整数,判断S中是否存在两个数A、B,使之和等于X。


Input:

第一行为T,输入包括T组测试数据。

每组数据第一行包括两个数字n和X,第二行有n个整数,表示数列S,(1<n<=100000)


🔑Output:

对于每组测试数据,输出占一行,如果存在,输出"YES",否则输出"NO"。


👨‍🏫 Sample Input:
2
5 3
1 3 4 3 5
5 5
1 2 4 3 5

💡Sample Output:
NO
YES


🚗🚗🚗🚗🚗🚗🚗🚗🚗🚗

🙋‍思路

这题如果无脑for的话我觉得可能会超时
所以换一个思路
就是提前设置一个数组b
用来存放输入数字A与目标数字X的差
即X-A的值
这里我们提前把数组b的值设为0
这样当我们每次输入一个A时
我们只要判断他的差b[X-A]的值是否存在
这样就可以边数入边判断
会显得很简洁


AC Code

#include <stdio.h>int a[1000000];
int b[1000000];   //用于标记是否存在这个数 
int main(){int t;scanf("%d",&t);int n,x;while(t--){int flag=0;scanf("%d%d",&n,&x);for(int i=0;i<1000000;i++)b[i] = 0;for(int i=0;i<n;i++){scanf("%d",&a[i]);if(a[i]<=x && b[x-a[i]]!=0)flag = 1;b[a[i]]++;}if(flag == 1)printf("YES\n");elseprintf("NO\n");	}
}
http://www.lryc.cn/news/13822.html

相关文章:

  • Python实现性能自动化测试,还可以如此简单
  • Leetcode力扣秋招刷题路-0080
  • Java实现JDBC工具类DbUtils的抽取及程序实现数据库的增删改操作
  • 【docker】拉取镜像环境报错解决#ERROR: Get https://registry-1.docker.io/v2/
  • java中NumberFormat 、DecimalFormat的介绍及使用,java数字格式化,BigDecimal数字格式化
  • 2023什么是分销商城系统?营销,核心功能
  • 天翼数字生活C++客户端实习
  • Java 接口
  • 【React】react-router 路由详解
  • DaVinci 偏好设置:系统 - 内存和 GPU
  • 视频知识点(22)- 教你认清楚YUV420P和YUV420SP的真正差异在哪里
  • 企业电子招标采购系统源码Spring Cloud + Spring Boot + MybatisPlus + Redis + Layui
  • 面试常问-Alpha测试和Beta测试
  • html理论基础
  • 【安卓开发】数据存储全方案--详解持久化技术
  • Vue项目实战
  • Github 学生优惠包 -- 最新防踩坑指南
  • 2023年美国大学生数学建模A题:受干旱影响的植物群落建模详解+模型代码(二)
  • 第47章 后端管理首页与Axios拦截守卫原理
  • 【前端】小程序开发入门:安装开发工具、目录结构与项目配置
  • Java反序列化漏洞——CommonsBeanutils1链分析
  • 三菱PLC的MC协议配置说明
  • Python基础复习总结
  • 【Linux操作系统】【综合实验五 网络管理与通信】
  • Qt下实现不规则形状窗口显示
  • 使用ribbon实现负载均衡
  • 从页面仔到工程师,前端到底在发挥什么价值
  • Java程序员进阶宝典,让你学习面试无忧!
  • Hadoop HDFS的主要架构与读写文件
  • 面试题练习第五篇