2019.4.3拼多多笔试第一题
题目:给定一个元素个数为偶数的数组arr,将该数组中的元素两两配对并求和,在这些和中选出最大和最小值,请问该如何对其两两配对,才能让最大值和最小值的差为最小?
输入描述:
一共2行输入。
第一行为一个整数n,2<=n<=10000,第二行为n个数,组成目标数组,每个数大于等于2,小于等于100。中间用空格隔开。
输出描述:
输出最小的差值。
例子:输入 6
23 45 65 23 78 59
输出 16
解法思路:先用vector 的arr装下数组,然后把arr调用sort()排好序,用一个for循环将arr的首尾相加,类似于高斯求和,装到另一个vector arr2里去,这样得到的两两配对结果是方差最小的,再对arr2用sort()排序,那么arr2的*arr2.begin()就是最小值,*arr2.end()-1就是最大的值。它们相减就是最小的差值。还有一种办法是直接开arr[101]的数组,数就是对应的arr[i]的i, arr[i]的值就是存的数的个数。第二种方法也贴出代码了。
方法一:
#include<iostream>
#include<vector>
#include<algorithm>
using namespace std;
int main() {vector<int> arr,arr2;int n = 0;cin >> n;for (int i = 0; i < n; i++) {int temp;cin >> temp;arr.push_back(temp);}sort(arr.begin(), arr.end());for (int i = 0,j=arr.size()-1; i < arr.size(); i++) {arr2.push_back(arr[i] + arr[j - i]);}sort(arr2.begin(), arr2.end());n = *(arr2.end() - 1)- *arr2.begin() ;cout << n;return 0;
}
方法二:
#include"stdafx.h"
#include<iostream>
#include<algorithm>
using namespace std;
int main() {int arr[101] = { 0 }, arr2[201] = { 0 };int n = 0;cin >> n;for (int i = 0; i < n; i++) {int temp;cin >> temp;arr[temp]++;}for (int i = 2 , j = 100; i < j; ) {if (arr[i] != 0 && arr[j] != 0) {arr2[ i+j ]++;arr[i]--;arr[j]--;}else if (arr[i] != 0 && arr[j] == 0) {--j;}else if (arr[i]==0 && arr[j] !=0){++i;}else{--j;++i;}}int k = 4;int g = 200;while (1) {if (arr2[k] != 0 && arr2[g] != 0) {n = g - k;break;}else if (arr2[k] != 0 && arr2[g] == 0) {--g;}else if (arr2[k] == 0 && arr2[g] != 0) {++k;}else{--g;++k;}}cout <<n<<endl;return 0;
}
2019.4.3拼多多笔试第一题相关推荐
- Java算法:牛客网拼多多笔试真题算法Java版1-13题
题号 题目 知识点 难度 通过率 PDD1 最大乘积 贪心模拟 中等 14.45%PDD2 大整数相乘 模拟 中等 27.32%PDD3 六一儿童节 贪心 中等 24.74%PDD4 迷宫寻路 模拟 ...
- 2021秋招拼多多笔试算法题
1.现有一个n*m的矩阵,矩阵中每个格子都有且只有一种颜色.矩阵中共有k种颜色,每个颜色通过特定数字C(i,j)表示.设初始位置位于(1,1),每次可以向右(x+1,y)者向下(x,y+1)移动一个单 ...
- 20200802拼多多笔试题目
20200802拼多多笔试题目 第一题 python代码示例 第二题 python代码 第三题 提交的版本 完善版本 双指针代码 第四题 拼爹爹的题目感觉出的还是比较有水准的,不管怎么样测试用例是 ...
- 字节跳动2019春招第二次笔试编程题
字节跳动2019春招第二次笔试编程题 1.变身程序员 题目描述 输入描述 输出描述 示例 示例1 示例2 示例3 分析 参考代码 2.特征提取 题目描述 输入描述 输出描述 示例 示例1 备注 分析 ...
- 2019.9.1 拼多多 服务端研发-笔试(C++)
拼多多的笔试没有选择题,直接是四道编程题,非常干脆直接,上手就是干! 优先偶数的有序TopN 题目描述: 读入一个数列和N值,返回按优先级排序的N个数,满足: (1)所有偶数优先级大于奇数 (2)同为 ...
- 小米答题题库_拼多多果园答题题库74(每日更新)
135编辑器 拼多多答题题库七十四 每周我们都会做一个总和的题库: 希望大家持续关注! 您的关注就是我们的动力! "成语之乡"指的是我国哪座城市? 1.河北邯郸 2.安徽蚌埠 答 ...
- 我胡汉三又回来了之拼多多笔试复盘
天朗气清,惠风和畅.一个阳光明媚的日子,王豆子终于想起了被leetcode支配的恐惧以及TA的csdn账号,又回来了. 笔记本写不下了,所以用博客记录一下. 今天复盘一下拼多多的笔试,第一个题比较简单 ...
- 拼多多2021高频题汇总 | 备战春招,刷这30题就够了!
春招高峰期,九章算法特别开放了[2021春招信息情报站],搜集汇总了阿里.字节.腾讯.顺丰.百度等互联网大厂的一手春招情报,包含网申链接.招聘范围.秘密情报.春招题库等,希望帮助更多同学顺利上岸! 校 ...
- 下沉巨头的2019年,拼多多和趣头条谁更值得投资?
回看2019,下沉市场依然是今年互联网行业的关键词之一.在这个稀有的增量市场,互联网巨头仍在摩拳擦掌竞争激烈的抢夺下沉市场的小镇青年.在看到下沉市场火热的背后,我们也看到以拼多多.趣头条为代表的平台在 ...
最新文章
- 动态规划—最长公共子序列问题 HDU-1159 Common Subsequence
- OpenAI解析「AI算力」:3个半月翻一倍,6年超过30万倍
- 开源项目JacpFX
- MySQL CURDATE() 函数
- 高中物理公式、规律汇编表
- 【paper】BlazeFace: Sub-millisecond Neural Face Detection on Mobile GPUs
- 注解(一)- 基础知识与运行时注解
- leetcode - 226. 翻转二叉树
- 深度 | Google Brain研究工程师:为什么随机性对于深度学习如此重要?
- linux文件控制驱动程序,Linux设备驱动程序学习(6)-高级字符驱动程序操作[(3)设备文件的访问控制]...
- 用指针将字符串逆序输出
- 菜鸟程序员成长之路(七)——2020年,你奋斗了吗?
- 加密经济学应用的机制设计
- 爬虫入门经典(十六) | 一文带你爬取斗鱼主播相关信息
- Android实现九宫格图片控件
- 灵飞经3 印神无双 第十四章 印神古墓 3
- 水逆了一整年的王源,2020年年初能靠《大主宰》翻身吗?
- (FortiGate)飞塔防火墙配置AD***
- js实现轮播图(简单滚动轮播)
- LED常见失效案例及分析
热门文章
- 深度学习实战39-U-Net模型在医学影像识别分割上的应用技巧,以细胞核分割任务为例
- temps matlab,matlab插值方法PPT演示文稿
- table 固定特定行
- 【深度学习之路记录02】python代码批量修改Labelme标注的json文件(删除标签、修改标签名)
- 彩票软件中热温冷算法的实现情况
- 【最新】如何降低深度强化学习研究的计算成本(Reducing the Computational Cost of DeepRL)...
- 工作室课题三【三】贪吃的大嘴
- BeautifulSoup+pandas 爬取新浪国内新闻
- 心灵鸡汤 - fifth (5th)
- python爬取全国高校在某省的录取分数线