总时间限制:1000ms 内存限制: 65536kB

描述

在一个长度为n(n < 1000)的整数序列中,判断是否存在某两个元素之和为k。

输入

第一行输入序列的长度n和k,用空格分开。

第二行输入序列中的n个整数,用空格分开。

输出

如果存在某两个元素的和为k,则输出yes,否则输出no。

样例输入

9 10

1 2 3 4 5 6 7 8 9

样例输出

yes


ac代码

/*
@File : find_element.cpp
@Time : 2020/03/22 14:51:43
@Contact : levarz@163.com
@Desc : 找和为K的两个元素
*/
#include <iostream>
#include <stdlib.h>
#define MAX_LEN 1010 using namespace std;
/**
* @brief 数组读入数据
*
* @param array 数组
* @param length 数组长度
*/
void read_data_for(int array[], int length);
/**
* @brief 查找valu在数组中第一个位置
*
* @param value 查找元素
* @param pos 元素value第一次出现的逻辑位置,不存在pos为-1
* @param array 数组
* @param length 数组长度
* @return true 元素存在
* @return false 元素不存在
*/
bool find_first_of(int value, int &pos, int array[], int length); int main(int argc, char const *argv[])
{
int numbers[MAX_LEN], n, k, pos = -1;
cin >> n >> k;
read_data_for(numbers,n);
for (int i = 0; i < n; i++) {
if (find_first_of(k-numbers[i],pos,numbers,n))
{
cout << "yes" <<endl;
system("pause");
return 0;
}
}
cout << "no" <<endl;
system("pause");
return 0;
}
void read_data_for(int array[], int length)
{
for (int i = 0; i < length; i++) {
cin >> array[i];
}
}
bool find_first_of(int value, int &pos, int array[], int length)
{
for (int i = 0; i < length; i++) {
if (value == array[i]) {
pos = i + 1;
return true;
}
}
pos = -1;
return false;
}

找和为K的两个元素的更多相关文章

  1. OpenJudge计算概论-找和为K的两个元素

    /*============================================================== 找和为K的两个元素 总时间限制: 1000ms 内存限制: 65536 ...

  2. Openjudge-计算概论(A)-找和为K的两个元素

    描述: 在一个长度为n(n < 1000)的整数序列中,判断是否存在某两个元素之和为k. 输入第一行输入序列的长度n和k,用空格分开.第二行输入序列中的n个整数,用空格分开.输出如果存在某两个元 ...

  3. LINQ找出重复和不重复的元素及linq OrderBy 方法 两个字段同时排序有关问题

    //重复元素:3,4,5 //不重复元素:1,8,9 , , , , , , , , , , }; //不重复元素 var unique = arr.GroupBy(i => i) .Where ...

  4. 《算法导论》习题2.3-7 查找集合S中是否有两个元素和为X---Java实现

    代码如下: public class MergeSort { public static void sort(int [] A,int p, int r) { if(p<r) { int q = ...

  5. 海量数据中找出前k大数(topk问题)

    海量数据中找出前k大数(topk问题) 前两天面试3面学长问我的这个问题(想说TEG的3个面试学长都是好和蔼,希望能完成最后一面,各方面原因造成我无比想去鹅场的心已经按捺不住了),这个问题还是建立最小 ...

  6. 求包含每个有序数组(共k个)至少一个元素的最小区间

    title: 求包含每个有序数组(共k个)至少一个元素的最小区间 toc: false date: 2018-09-22 21:03:22 categories: OJ tags: 归并 给定k个有序 ...

  7. 【一起刷LeetCode】在未排序的数组中找到第 k 个最大的元素

    题目描述 在未排序的数组中找到第 k 个最大的元素.请注意,你需要找的是数组排序后的第 k 个最大的元素,而不是第 k 个不同的元素. 示例 1: 输入: [3,2,1,5,6,4] 和 k = 2 ...

  8. 小于K的两数之和

    给你一个整数数组 A 和一个整数 K,请在该数组中找出两个元素,使它们的和小于 K但尽可能地接近 K,返回这两个元素的和. 如不存在这样的两个元素,请返回 -1. 示例1: 输入:A = [34,23 ...

  9. TopK问题,数组中第K大(小)个元素问题总结

    问题描述: 在未排序的数组中找到第 k 个最大的元素.请注意,你需要找的是数组排序后的第 k 个最大的元素,而不是第 k 个不同的元素. 面试中常考的问题之一,同时这道题由于解法众多,也是考察时间复杂 ...

随机推荐

  1. Appium上下文和H5测试(一)

    坚持原创输出,点击蓝字关注我吧 作者:清菡 博客:oschina.云+社区.知乎等各大平台都有. 目录 一.混合应用-H5 1.混合应用是什么? 2.怎么样分辨一个 App 页面究竟是原生的还是 We ...

  2. Shamir秘密共享方案 (Python)

    Shamir's Secret Sharing scheme is an important cryptographic algorithm that allows private informati ...

  3. transient关键字的作用以及几个疑问的解决

    目录 1.从Serilizable说到transient 2.序列化属性对象的类需要实现Serilizable接口? 3.不想被序列化的字段怎么办? 4.ArrayList里面的elementData ...

  4. oracle ddl 与 dml

    DDL create table 创建表 alter table 修改表 drop table 删除表 truncate table 删除表中所有行 create index 创建索引 drop in ...

  5. 树莓派自动连接WiFi

    使用sudo raspi-config配置好第一个wifi 然后只需要修改一个文件sudo nano /etc/wpa_supplicant/wpa_supplicant.conf 内容如下: ctr ...

  6. 异步任务-----django-celery

    异步任务 ---- django-celery   大家的知道celery的使用,网上也有很多的教程.因为最近在使用django来完成项目,无意间发现发现有个东西叫django-celery,比cel ...

  7. JavaWeb知识梳理

    目录 JavaWeb Web服务器 技术讲解 Web服务器 Tomcat Http Maven pom.xml Servlet HelloServlet Servlet原理 Mapping Servl ...

  8. 学JAVA的艰难之路

    周五回家了,这两天也没有更新代码系列,很抱歉,之后会补上.今天刚到宿舍,写了会代码,想用一个数组的从键盘输入,再也弄不好了,最终在我不断的翻之前写的代码,终于是找到了一个例子,真的不容易,编程这东西, ...

  9. PyQt(Python+Qt)学习随笔:QTabWidget选项卡部件的currentWidget和widget方法

    老猿Python博文目录 专栏:使用PyQt开发图形界面Python应用 老猿Python博客地址 QTabWidget的每个选项卡都有一个对应的页面部件对象,可用通过currentWidget方法和 ...

  10. JMeter断言/检查点

    断言就类似LoadRunner中的检查点.对上一个请求返回的信息,获取部分字符串.图片等做判断,确保返回的信息的准确性. 右键点击"HTTP请求" -> "添加&q ...