一公司的面试题(泛型和数组的问题)
2019独角兽企业重金招聘Python工程师标准>>>
题目:区间合并
如果用一组书Pair<Float,Float>(a,b)表示一个闭合区间,其中a,b表示X轴的两个点,a,b间没有大小关系。输入一个方法处理一批数据并合并区间,并将合并的结果输出,比如(3,8),(5,9)合并为(3,9);
下面为题目的类格式:
public class Pair<F,S> {
public final F first;
public final S second;
public Pair(F first,S second){
this.first = first;
this.second = second;
}
Pair<Float,Float>[] merge(Pair<Float,Float>[] pairs){
//这里实现算法(见下:算法)
}
}
不知道大家看到这里心里是什么感觉?无从下手还是豁然开阔,当然 对于我这种刚毕业的菜鸟来说 还是比较难得 下面是算法
List<Float> list = new ArrayList<Float>(); //存放所有的数字 用于排序 取区间(min-max)
Pair<Float,Float>[] pa = new Pair[1];
//这里是算法
for (int i = 0; i < pairs.length; i++) {
Pair<Float,Float> each = pairs[i];
Float first = each.first;
Float second = each.second;
list.add(first);
list.add(second);
}
//排序list
Collections.sort(list); //这里我做了一个简单的方法 不知道读者是否还有好的办法?
int size = list.size();
pa[0] = new Pair<Float,Float>(list.get(0),list.get(size-1));
return pa;
其实到这里 大致的问题就能解决了 但是 请往下看:
这是main方法中的内容
Map<String,String> map[] = new HashMap<String,String>()[10]; 报错:The type of the expression must be an array type but it resolved to HashMap<String,String>
Map map[] = new HashMap[10]; 正常使用 之前没有做过类似的
main方法调用“
Pair pairs1 = new Pair(5f, 8f);
Pair pairs2 = new Pair(9f, 5f);
Pair pairs3 = new Pair(12f, 30f);
Pair pairs4 = new Pair(12f, 300f);
Pair pairs[] = {pairs1,pairs2,pairs3,pairs3,pairs4};
Pair pa[] = pairs1.merge(pairs);
System.out.println(pa[0].first);
System.out.println(pa[0].second);
输出 :5.0 300.0
得出答案 !!!!!
虽然此题并不难 但是它的思想是值得借鉴的
转载于:https://my.oschina.net/u/1587544/blog/265256
一公司的面试题(泛型和数组的问题)相关推荐
- 用友公司Java面试题(含答案)
为什么80%的码农都做不了架构师?>>> 用友公司Java面试题(含答案) 1.Hashtable和HashMap有什么区别? a.Hashtable是继承自陈旧的Dict ...
- 大型软件公司.Net面试题(一)
大型软件公司.net面试题!一定得看 1:a=10,b=15,在不用第三方变量的前提下,把a,b的值互换 2:已知数组int[] max={6,5,2,9,7,4,0};用快速排序算法按降序对其进行排 ...
- Trilogy公司的笔试题:根据指定规则用最少的步骤将数转为1
Trilogy公司的笔试题: 如果n为偶数,则将它除以2,如果n为奇数,则将它加1或者减1.问对于一个给定的n,怎样才能用最少的步骤将它变到1. 例如:n=11: ① ++n -> ...
- 北京春雨天下软件公司的面试题
今天没事,请了一天的假,跑到其他公司去面试了,那个公司的前台妹妹长得还可以呀!,不多说了先来看一下三道笔试题,全部是算法题,可以使用c和java实现的:本人使用的是java语言实现的: 第一题:单链表 ...
- 谷歌公司经典面试题扔鸡蛋的详细解读—动态规划(二)
首先要说的是到底啥是动态规划? 那么,怎样找到状态转移方程式呢? 状态转移方程式有了,如何计算出这个方程式的结果呢? 代码如何实现? 如何优化呢? --------------– 上一篇博客中咦非常通 ...
- 转贴:雅虎公司C#笔试题,看看你能解答多少
这是刚在在网上看到了,觉得这些题目出得真不错,能考出一个程序员的基本功.所以先发在这里,做个备份,以后慢慢来做(偶好像只能免强及格哦,呵呵,关于网络的题目太多了,偶不太熟啊)- ----------- ...
- java 取数组的前90位,LeetCode 面试题21. 调整数组顺序使奇数位于偶数前面
LeetCode 面试题21. 调整数组顺序使奇数位于偶数前面 题目 输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有奇数位于数组的前半部分,所有偶数位于数组的后半部分. 示例: 输入 ...
- Java 为什么不支持创建泛型化数组
没事的时候在书中翻了下泛型相关的知识,注意到一个比较有意思的问题:Java 不能创建泛型化数组.比如像下面这样就是不允许的: // 创建一个泛型类 public class Generic<T& ...
- 阿里巴巴公司DBA笔试题
阿里巴巴公司DBA笔试题 注:以下题目,可根据自己情况挑选题目作答,不必全部作答.您也可以就相关问题直接找负责面试人员面述而不笔答 一:SQL tuning 类 ...
- 【IT笔试面试题整理】数组中出现次数超过一半的数字
[试题描述]数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字. [试题分析]时间复杂度O(n),空间复杂度O(1) 思路1: 创建一个hash_map,key为数组中的数,value为此数 ...
最新文章
- 管理活动目录域服务实训_酒店管理专业开展酒店实训活动
- hdu 4639 2013多校第四场 hehe Fibonacci 数列,组合计数,字符串处理
- python中的ideavim有什么作用_Pycharm和Idea支持的vim插件的方法
- 最优化课堂笔记06-无约束多维非线性规划方法(续)
- js值的拷贝和值的引用_到达P值的底部:直观的解释
- Exynos4412 内核移植(三)—— 内核启动过程分析
- ie6 offsetWidth/offsetHeight无效
- Qt图形界面编程入门(创建一个简单的程序)
- 职业生涯设计的10点忠告
- php写cms,浅谈thinkPHP,国内写CMS利用率最高的框架
- Tensorflow:分类模型评估
- winform调用大华相机
- 时延波束形成 matlab,有关波束形成程序解释
- 2寸的照片长宽各是多少_2寸照片的高和宽是多少像素?
- 2019年8月15日奇虎360测评与笔试分享
- 我的世界java版安装mod手机版,我的世界国际版手机版
- excel高级筛选怎么用_Excel集|高级筛选使用方法(多条件筛选)
- keil 对于 ERROR: FILE DOES NOT EXIST错误的解决办法
- Nginx 日志和监控 - TCP 健康监测
- 软件开发流程与项目管理