腾讯2017暑期实习生编程题-C-有趣的数字
来源:互联网 发布:淘宝假学生证怎么办理 编辑:程序博客网 时间:2024/05/15 23:44
ACM模版
描述
题解
这个招聘实习生的编程题真心简单,可是我在牛客网上做的,莫名其妙的 WA,但是我思路肯定没问题啊,本地测试的样例也是过的,可是系统提示说我连样例都错了,这就尴尬了,感觉牛客网的测评系统好垃圾啊~~~
首先排序,然后分别求最大数最小数出现的次数,然后根据乘法原理得差最大对儿数,接着,求相邻两个差最小的值,如果为0,说明存在重复数字,求重复最多的次数,然后根据等差数列求差最小对儿数,否则,遍历一遍,求最小差值出现过多少次。
代码
#include <iostream>#include <algorithm>#include <cstdio>using namespace std;const int MAXN = 1e5 + 10;int a[MAXN];int main(int argc, const char * argv[]){ int n; while (cin >> n) { for (int i = 0; i < n; i++) { scanf("%d", a + i); } sort(a, a + n); int tMin = a[0], numMin = 0; int tMax = a[n - 1], numMax = 0; if (tMin == tMax) { int ans = n * (n - 1) / 2; cout << ans << ' ' << ans << '\n'; continue; } for (int i = 0; i < n; i++) { if (a[i] == tMin) { numMin++; } else { break; } } for (int i = n - 1; i >= 0; i--) { if (a[i] == tMax) { numMax++; } else { break; } } int resMax = numMin * numMax; tMin = a[1] - a[0]; for (int i = 0; i < n - 1; i++) { if (a[i + 1] - a[i] < tMin) { tMin = a[i + 1] - a[i]; } } int resMin = 0; if (tMin != 0) { for (int i = 0; i < n - 1; i++) { if (a[i + 1] - a[i] == tMin) { resMin++; } } } else { for (int i = 0; i < n - 1; i++) { if (a[i] == a[i + 1]) { int temp = 2; for (int j = i + 2; j < n; j++) { if (a[j] == a[i]) { temp++; } else { i = j; break; } } resMin += temp * (temp - 1) / 2; } } } cout << resMin << ' ' << resMax << '\n'; } return 0;}
1 0
- 腾讯2017暑期实习生编程题-C-有趣的数字
- 有趣的数字----腾讯2017暑期实习生编程题
- 腾讯2017暑期实习生编程题-有趣的数字
- 腾讯2017暑期实习生编程题--有趣的数字
- 腾讯2017暑期实习生编程题之有趣的数字
- 腾讯2017暑期实习生编程题:有趣的数字 [python]
- 腾讯2017暑期实习生编程题(三)----有趣的数字
- 腾讯17年暑期实习生笔试题 - 有趣的数字
- 算法与数据结构——算法题 67:有趣的数字(腾讯2017暑期实习生编程题) ? 待解决
- 腾讯2017实习生编程题之有趣的数字
- 腾讯2017暑假实习生编程题有趣的数字
- 腾讯2017 暑假实习生编程题---【3】 有趣的数字
- 2016腾讯实习生笔试编程题:有趣的数字
- 笔试题88.腾讯2017暑期实习生笔试题(有趣数字)
- 有趣的数字(腾讯2017实习生)
- 穷举法-有趣的数字(腾讯2017实习生编程题)
- 腾讯2017暑期实习生编程题
- 腾讯2017暑期实习生编程题
- 结构体嵌套
- MySQL 5.7.17 ZIP安装教程及解决方案
- MySQL运算符
- 多线程_Java程序运行原理和JVM的启动是多线程的吗
- endnote使用笔记
- 腾讯2017暑期实习生编程题-C-有趣的数字
- 大型网站系统学习笔记(一)——单机到集群
- 浅论出版物的纸、电一体化新方向
- AlloyTouch之无限循环select插件
- 用canvas绘制的折线图 +解析
- Nginx-keepalived高可用负载均衡
- JAVA 开发环境搭建
- CSS Background-origin
- 前端经典面试——splice&concat用法详解