题目:输入一组正整数为集合N;从N中任意取两个数求和得到集合A;从N任意取两个数求差的绝对值得到集合B;从集合A,B中各取一个数得到集合D;集合D中最大值d1,最小值d2,元素个数为ds,求d1+d2+ds;

思路:简单,按题目顺序来即可,注意集合元素的去重和排序即可。这题考的时候我有点粗心,一个循环遍历中少加了1居然一直没看到,然后我用来做题的电脑上居然没有gdb,没法调试,光从眼睛看居然没有发现该错误,明明代码量这么少(捂脸笑哭)。

#include <iostream>
#include <vector>
#include <numeric>
#include <limits>
#include <cmath>
#include <algorithm>
using namespace std;
// 请完成下面这个函数,实现题目要求的功能
// 当然,你也可以不按照这个模板来作答,完全按照自己的想法来 ^-^
int result(const vector <int>& inputs) {vector <int> a;vector <int> b;vector <int> d;int len = inputs.size();int resultNum = 0;for (int i = 0; i < len; i++){for (int j = i + 1; j < len; j++)//就在这个地方少加了1,居然一直没发现{int calTmp = inputs[i] + inputs[j];a.push_back(calTmp);}}for (int i = 0; i < len; i++){for (int j = i + 1; j < len; j++){int calTmp = abs(inputs[i] - inputs[j]);b.push_back(calTmp);}}sort(a.begin(),a.end());a.erase(unique(a.begin(), a.end()), a.end());sort(b.begin(),b.end());b.erase(unique(b.begin(), b.end()), b.end());int aLen = a.size();int bLen = b.size();for (int i = 0; i < aLen; i++){for (int j = 0; j < bLen; j++){int calTmp = abs(a[i] - b[j]);d.push_back(calTmp);}}sort(d.begin(),d.end());d.erase(unique(d.begin(), d.end()), d.end());sort(d.begin(),d.end());resultNum = d.front() + d.back() + d.size();return resultNum;
}int main() {int size = 0;cin >> size;cin.ignore (numeric_limits<std::streamsize>::max(), '\n');vector<int> points;for(size_t i=0; i<size; ++i) {int item;cin >> item;cin.ignore (numeric_limits<std::streamsize>::max(), '\n');points.push_back(item);}int res = result(points);cout << res << endl;return 0;
}

阿里巴巴2017校招C++岗位在线编程题-求集合D的最大值,最小值和元素个数三者之和相关推荐

  1. 小红书校招笔试编程题 求表达式 f(n)结果末尾0的个数

    时间限制:1秒 空间限制:32768K 输入一个自然数n,求表达式 f(n) = 1!2!3!.....n! 的结果末尾有几个连续的0? 输入描述: 自然数n 输出描述: f(n)末尾连续的0的个数 ...

  2. java在线编程题_阿里笔试题(2017在线编程题)-- 数串分组 --Java实现

    看到有人写了阿里的面试题,心里痒痒,好久 没搞过这些了,写着实现一下 题目 2017年3月阿里在线编程题(实习内推) 给定一串数字 判断是否存在这三个元素,它们将数字串分为四个子串,其中每个子串的数字 ...

  3. 阿里笔试题(2017在线编程题)-- 数串分组 --Java实现

    看到有人写了阿里的面试题,心里痒痒,好久 没搞过这些了,写着实现一下 题目 2017年3月阿里在线编程题(实习内推) 给定一串数字 判断是否存在这三个元素,它们将数字串分为四个子串,其中每个子串的数字 ...

  4. 2020哔哩哔哩校招后端开发笔试编程题总结

    2020哔哩哔哩校招后端开发笔试编程题总结 1.给定一个正整数N,试求有多少组连续正整数满足所有数字之和为N? (1 <= N <= 10 ^ 9) 暴力求解法: package Day4 ...

  5. 阿里算法工程师在线编程题

    第一次投实习,阿里的在线编程题,只有一道,半个小时完成. 这道题主要要想到有递推公式 当N>=3时A(N)=M*(M-1)^(N-1)-A(N-1) N=2时,初值为M(M-1),因为只有两块, ...

  6. 平安科技2020校招技术岗部分编程题

    题目源自:平安科技2020校招技术岗部分编程题汇总 1. 字符串异构同质判定 请编码实现一个命令行工具,判定两个指定的字符串是否异构同质:异构同质的定义为:一个字符串的字符重新排列后,能变成另一个字符 ...

  7. pat编程语言_浙江大学在线pat题库集合

    [实例简介] 浙江大学在线pat题库集合 [实例截图] [核心代码] dfe822fa-a075-4fde-b840-afc825ee6fc6 └── test ├── 00-自测2. 素数对猜想 ( ...

  8. 编程题——求最小公倍数

    编程题--求最小公倍数 题目描述: 正整数A和正整数B 的最小公倍数是指 能被A和B整除的最小的正整数值,设计一个算法,求输入A和B的最小公倍数. 输入描述: 输入两个正整数A和B. 输出描述: 输出 ...

  9. 2017字节跳动秋招编程题-头条校招

    题目描述 头条的2017校招开始了!为了这次校招,我们组织了一个规模宏大的出题团队,每个出题人都出了一些有趣的题目,而我们现在想把这些题目组合成若干场考试出来,在选题之前,我们对题目进行了盲审,并定出 ...

最新文章

  1. raid5数据恢复方法,服务器磁盘阵列数据恢复成功案例
  2. 视频: 猫和老鼠真实版
  3. UIView及其分类的属性方法定义
  4. 基于算法的建模---分形几何方法
  5. 内容 AI:建立统一的跨媒体多模态内容理解内核
  6. 用java连接Excel和SQLite3,实现从excel文件读取数据并将其存入SQLite3数据库中
  7. Spring+Spring Security+JSTL实现的表单登陆的例子
  8. 组件开发之Asp.net服务器控件Collection[集合]属性的设计时支持--编辑、保存
  9. linux中id命令的功能,Linux id命令参数及用法详解
  10. 大数据学习总结(5)参考elk技术架构
  11. 联想Y9000P-2022款踩坑指南 加装固态和内存 win10系统安装
  12. [乡土民间故事_徐苟三传奇]第四一回_放牛娃巧娶富家女
  13. matlab二项式分布,C++ binomial_distribution二项式分布随机数用法解析
  14. 4. PyQt5的主要模块
  15. windows下linux子系统(Ubuntu)配置(基础配置+zsh)
  16. 新加坡金融科技节 | 蚂蚁金服CTO程立:面向全球开放,与合作伙伴共赢
  17. 输入矩形的长和宽。计算其面积和周长
  18. 使用 easypoi 导出 excel 实现动态列,完美解决!
  19. Rust FFI 编程 - Bindgen 工具介绍
  20. FAT32文件系统转NTFS文件系统

热门文章

  1. 22061周市场回顾
  2. vue中v-for的用法
  3. 企业邮箱退信提示:“550 5.1.1 User unknown.”
  4. Linux命令学习笔记(一)目录操作
  5. 【复杂网络建模】——Python可视化重要节点识别(PageRank算法)
  6. 2022浙江省计算机三级网络及安全技术考试自学资料(1)(更新于2.28)
  7. 切片器可以设置日期格式?_Excel切片器,原来有这么多厉害的用法
  8. Http长连接、短连接、持久连接这三个概念的分析总结
  9. 面部识别法案正式通过?微软总裁赞不绝口——华盛顿州重大突破!
  10. jQuery基础文档(持续更新)