腾讯2017年实习生编程题目(第三题)——有趣的数字 小Q今天在上厕所时想到了这个问题:有n个数,两两组成二元组,差最小的有多少对呢?差最大呢?
2016-09-09 15:10
771 查看
腾讯2017年实习生编程题目(第三题)
3.有趣的数字
小Q今天在上厕所时想到了这个问题:有n个数,两两组成二元组,差最小的有多少对呢?差最大呢?
输入描述:
输入包含多组测试数据。
对于每组测试数据:
N -
本组测试数据有n个数
a1,a2...an -需要计算的数据
保证:
1<=N<=100000,0<=ai<=INT_MAX.
输出描述:
对于每组数据,输出两个数,第一个数表示差最小的对数,第二个数表示差最大的对数。
输入例子:
6
45 12 45 32 5 6
输出例子:
1 2
3.有趣的数字
小Q今天在上厕所时想到了这个问题:有n个数,两两组成二元组,差最小的有多少对呢?差最大呢?
输入描述:
输入包含多组测试数据。
对于每组测试数据:
N -
本组测试数据有n个数
a1,a2...an -需要计算的数据
保证:
1<=N<=100000,0<=ai<=INT_MAX.
输出描述:
对于每组数据,输出两个数,第一个数表示差最小的对数,第二个数表示差最大的对数。
输入例子:
6
45 12 45 32 5 6
输出例子:
1 2
#include <iostream> #include <vector> #include <cmath> using namespace std; int max(vector<int>&); int min(vector<int>&); int test(int, vector<int>&); int main() { int n; cin >> n; vector<int> v; for (int i = 0; i < n; ++i) { int num; cin >> num; v.push_back(num); } int min_int = min(v); int max_int = max(v); int min_num = test(min_int,v); int max_num = test(max_int, v); cout << min_num << " " << max_num << endl; return 0; } int min(vector<int>& v) { int min = 0; int len = v.size(); for (int i = 0; i < len-1; ++i) { for (int j = i+1; j < len; j++) { min = abs(v.at(0)-v.at(1)); if (abs(v.at(i) - v.at(j)) < min) { min = abs(v.at(i) - v.at(j)); } } } return min; } int max(vector<int>& v) { int max = 0; int len = v.size(); for (int i = 0; i < len - 1; ++i) { for (int j = i + 1; j < len; j++) { max = abs(v.at(0) - v.at(1)); if (abs(v.at(i) - v.at(j)) > max) { max = abs(v.at(i) - v.at(j)); } } } return max; } int test(int num, vector<int>& v) { int n = 0; int len = v.size(); for (int i = 0; i < len - 1; ++i) { for (int j = i + 1; j < len; j++) { if (abs(v.at(i) - v.at(j)) == num) ++n; } } return n; }
相关文章推荐
- 腾讯校招笔试——小Q今天在上厕所时想到了这个问题:有n个数,两两组成二元组,差最小的有多少对呢?差最大呢?
- 小Q今天在上厕所时想到了这个问题:有n个数,两两组成二元组,差最小的有多少对呢?差最大呢?
- 腾讯2017年实习生编程题目(第二题)----2.算法基础-字符移位 小Q最近遇到了一个难题:把一个字符串的大写字母放到字符串的后面,各个字符的相对位置不变,且不能申请额外的空间。
- 有n个数,两两组成二元组,差最小的有多少对呢?差最大呢?
- 有n个数,两两组成二元组,差最小的有多少对呢?差最大呢?
- 有n个数,两两组成二元组,差最小的有多少对呢?差最大呢?
- 腾讯2017年实习生编程题目
- 百度2017年暑假实习生编程题目(第三题)---3、进程调度算法 短作业优先(SJF, Shortest Job First)又称为“短进程优先
- 求两个数的最大公约数--2012腾讯实习生招聘笔试题,由此想到狼追兔子问题
- 编程实现能组成多少个互不相同且无重复数字的三位数
- 欧拉计划之题目8:找出这个1000位数字中连续5个数字乘积的最大值
- 汇编之题目:有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?...
- 程序1】 题目:有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少? 1.程序分析:可填在百位、十位、个位的数字都是1、2、3、4。组成所有的排列后再去 掉不
- 【编程题目】在字符串中找出连续最长的数字串,并把这个串的长度返回
- 题目:有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少
- .已知地址块中的一个地址是140.120.84.24/20。试求这个地址块中的最小地址和最大地址。地址掩码是什么?地址块中共有多少个地址?相当于多少个C类地址?
- 题目:有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?
- 德梅齐里亚克砝码问题--腾讯QQ2014实习生笔试题目附加题
- 排列平方数 若干不同的数字,排列组合后能产生多少个平方数? 下面的代码解决了这个问题。
- /*c语言,要求输入一个数字,统计其中偶数的个数,频率,最大最小等题目要求输入一个数字,然后统计其中的偶数的个数,最大的偶数和最小的偶数,以及最大偶数的发生频率*/