interviewstreet pair

简介: 今天突然想起interviewstreet这个网站,这个网站和其他oj有些不同,每题只要通过一组测试样例就会获得一定的分数,然后按分数的高低进行排名,刚刚看到一题。

今天突然想起interviewstreet这个网站,这个网站和其他oj有些不同,每题只要通过一组测试样例就会获得一定的分数,然后按分数的高低进行排名,刚刚看到一题。


链接  https://www.hackerrank.com/challenges/pairs


      题意大概是输入n和k,然后是n个数每个数在10^9范围内,计算出有多少对a[i]和a[j]使得a[i]+k = a[j]。

#include <iostream>
#include <algorithm>
using namespace std;
int main()
{
    int N, K;
    cin >> N >> K;
    long long *key = new long long[N];
    for (int i = 0; i < N; i++)
    {
        cin >> key[i];
    }
    sort (key, key+N);                     //对数组进行排序
    int k = 0;
    for (int i = 0; i < N; i++)
    {
        int begin = i+1;
        int end = N-1;
        int value = key[i] + K;
        while(begin <= end)                //用二分查找有没有满足条件的
        {
            int mid = (begin+end)/2;
            if (key[mid] < value)
                begin = mid + 1;
            else if (key[mid] > value)
                end = mid - 1;
            else
            {
                k++;
                break;
            }
        }
    }
    cout << k << endl;  
}
目录
相关文章
|
7月前
|
存储 算法 搜索推荐
pari使用-pair对徂酌创建讲解
pari使用-pair对徂酌创建讲解
52 1
|
C++ Python 容器
C++中pair用法
⭐pair的简介 pair是C++STL(标准模板库)中的一个现有容器,它将2个数据整合成一组数据,当我们类似需求的时候就可以使用到pair啦!pair其实有点像Python中字典中的键值对(Key-Value),一个Key对应着一个Value。pair的本质其实就是个结构体,它含有两个成员变量first和second。因为使用的是struct不是class,所以在定义后是可以直接使用pair中的成员变量的。 其标准库类型–pair类型定义在#include< utility > 头文件中
374 0
|
存储 分布式计算 Ubuntu
|
Java C语言 C++
C++_pair
pair是将2个数据组合成一组数据,当需要这样的需求时就可以使用pair,如stl中的map就是将key和value放在一起来保存。另一个应用是,当一个函数需要返回2个数据的时候,可以选择pair。pair的实现是一个结构体,主要的两个成员变量是first second 因为是使用struct不是class,所以可以直接使用pair的成员变量。就算其他的语言中没有pair,比如java与c语言,也可以自己理解原理之后,通过结构体自己做一个。
113 0
C++_pair
|
编译器 C++ 容器
STL—pair
pair是一个特别实用的“小玩意儿”,当我们想把两个元素捆绑在一起当成一个元素的时候,又不想定义结构体的时候,这个时候就可以使用pair,也就是说,pair实际上可以当成内部只有两个元素的结构体,且这两个元素的类型是可以指定的.
135 0
当类型为pair时priority该如何建立
本文讲述了acm竞赛中如何方便的使用优先队列的建立,以及当类型是pair是该如何建立,目的记录学习,交流思路,互相促进

热门文章

最新文章