最大差值(2017某计算机校招笔试试题)
来源:互联网 发布:非诚勿扰杨宇航淘宝店 编辑:程序博客网 时间:2024/06/06 12:50
[编程题]最大差值
- 热度指数:172时间限制:1秒空间限制:32768K
给定一个未排序的数列,找到此数列在已排序状态下的两个相邻值的最大差值,少于两个值时返回0。例如:给定数列 [1,3,2,0,1,6,8] 则 最大差值为3。注意:请尽量使用时间复杂度为O(n)的方案。
输入描述:
第一行输入单个整数N作为数列的大小,第二行输入所有数列中的元素M,共N个。0 < N <= 1000000, 0 < M < 2100000000
输出描述:
数列的最大差值
示例1
输入
31 10 5
输出
5
一般想法,排序,然后后减前,找最大值,代码不够完善,因为时间复杂度影响排序算法的执行,所以自己就用了库函数的sort排序,具体什么算法我也不太清楚,利用了
list容器中sort,最大值利用了逆序排序sort(greater);最后满足了时间和空间要求不容易啊
运行时间: 104 ms 占用内存:6644K
#include<iostream>
#include<list>
using namespace std;
int main()
{
int n;
cin>>n;
list <int> L1;
list <int> L2;
int m;
for(int i=0;i<n;i++)
{
cin>>m;
L1.push_back(m);
}
if(n<2)
cout<<0;
else{
L1.sort();
list <int>::iterator it1;
it1=L1.begin();
it1++;
list <int>::iterator it2;
it2=L1.begin();
for(it1;it1!=L1.end();it1++)
{m=*it1-*it2;
it2++;
L2.push_back(m);
}
L2.sort(greater<int>());
it2=L2.begin();
cout<<(*it2);
}
}
阅读全文
0 0
- 最大差值(2017某计算机校招笔试试题)
- BaiDu校招2016计算机视觉笔试试题
- BaiDu校招2016计算机视觉笔试试题
- [阿里2015校招笔试]求二叉树中相差最大的两个节点间的差值绝对值
- 动态规划-试题(6)-最大差值
- 十五、吉比特2017秋招<最大差值>
- 美团笔试题 最大差值
- 最大差值(贪心)
- 网易2017校招笔试
- 2017校招笔试题
- 2015年计算机校招笔试面试经验
- 2017渤海银行----计算机笔试试题分享
- 计算机笔试面试题
- 计算机笔试/面试题
- 计算机笔试/面试题
- 网易校招2017笔试题-求最大奇约数和
- 美团 校招 笔试试题 研发类 岗位
- 关于位运算的一道试题校招笔试题
- 剑指offer:树的子结构
- 【LeetCode】004. Median of Two Sorted Arrays
- Django中ORM模型总结(二)[模型类的对应关系,模型类的属性,字段类型]
- Java-HashMap踩坑小记
- Python——切片备忘
- 最大差值(2017某计算机校招笔试试题)
- 百度地图自定义覆盖物及创建多个小图标
- HDU 6075 Questionnaire【】
- 数学、计算机及抽象思维
- poj 1383 Labyrinth【bfs+队列】
- 动态规划中级教程 322. Coin Change
- 如何把footer固定到页面最下端?
- fdfs防盗链配置及java开发
- [数据结构] 排序算法小结