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

一公司的面试题(泛型和数组的问题)相关推荐

  1. 用友公司Java面试题(含答案)

    为什么80%的码农都做不了架构师?>>>    用友公司Java面试题(含答案) 1.Hashtable和HashMap有什么区别?   a.Hashtable是继承自陈旧的Dict ...

  2. 大型软件公司.Net面试题(一)

    大型软件公司.net面试题!一定得看 1:a=10,b=15,在不用第三方变量的前提下,把a,b的值互换 2:已知数组int[] max={6,5,2,9,7,4,0};用快速排序算法按降序对其进行排 ...

  3. Trilogy公司的笔试题:根据指定规则用最少的步骤将数转为1

       Trilogy公司的笔试题: 如果n为偶数,则将它除以2,如果n为奇数,则将它加1或者减1.问对于一个给定的n,怎样才能用最少的步骤将它变到1.     例如:n=11: ① ++n -> ...

  4. 北京春雨天下软件公司的面试题

    今天没事,请了一天的假,跑到其他公司去面试了,那个公司的前台妹妹长得还可以呀!,不多说了先来看一下三道笔试题,全部是算法题,可以使用c和java实现的:本人使用的是java语言实现的: 第一题:单链表 ...

  5. 谷歌公司经典面试题扔鸡蛋的详细解读—动态规划(二)

    首先要说的是到底啥是动态规划? 那么,怎样找到状态转移方程式呢? 状态转移方程式有了,如何计算出这个方程式的结果呢? 代码如何实现? 如何优化呢? --------------– 上一篇博客中咦非常通 ...

  6. 转贴:雅虎公司C#笔试题,看看你能解答多少

    这是刚在在网上看到了,觉得这些题目出得真不错,能考出一个程序员的基本功.所以先发在这里,做个备份,以后慢慢来做(偶好像只能免强及格哦,呵呵,关于网络的题目太多了,偶不太熟啊)- ----------- ...

  7. java 取数组的前90位,LeetCode 面试题21. 调整数组顺序使奇数位于偶数前面

    LeetCode 面试题21. 调整数组顺序使奇数位于偶数前面 题目 输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有奇数位于数组的前半部分,所有偶数位于数组的后半部分. 示例: 输入 ...

  8. Java 为什么不支持创建泛型化数组

    没事的时候在书中翻了下泛型相关的知识,注意到一个比较有意思的问题:Java 不能创建泛型化数组.比如像下面这样就是不允许的: // 创建一个泛型类 public class Generic<T& ...

  9. 阿里巴巴公司DBA笔试题

    阿里巴巴公司DBA笔试题 注:以下题目,可根据自己情况挑选题目作答,不必全部作答.您也可以就相关问题直接找负责面试人员面述而不笔答          一:SQL  tuning  类          ...

  10. 【IT笔试面试题整理】数组中出现次数超过一半的数字

    [试题描述]数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字. [试题分析]时间复杂度O(n),空间复杂度O(1) 思路1: 创建一个hash_map,key为数组中的数,value为此数 ...

最新文章

  1. 管理活动目录域服务实训_酒店管理专业开展酒店实训活动
  2. hdu 4639 2013多校第四场 hehe Fibonacci 数列,组合计数,字符串处理
  3. python中的ideavim有什么作用_Pycharm和Idea支持的vim插件的方法
  4. 最优化课堂笔记06-无约束多维非线性规划方法(续)
  5. js值的拷贝和值的引用_到达P值的底部:直观的解释
  6. Exynos4412 内核移植(三)—— 内核启动过程分析
  7. ie6 offsetWidth/offsetHeight无效
  8. Qt图形界面编程入门(创建一个简单的程序)
  9. 职业生涯设计的10点忠告
  10. php写cms,浅谈thinkPHP,国内写CMS利用率最高的框架
  11. Tensorflow:分类模型评估
  12. winform调用大华相机
  13. 时延波束形成 matlab,有关波束形成程序解释
  14. 2寸的照片长宽各是多少_2寸照片的高和宽是多少像素?
  15. 2019年8月15日奇虎360测评与笔试分享
  16. 我的世界java版安装mod手机版,我的世界国际版手机版
  17. excel高级筛选怎么用_Excel集|高级筛选使用方法(多条件筛选)
  18. keil 对于 ERROR: FILE DOES NOT EXIST错误的解决办法
  19. Nginx 日志和监控 - TCP 健康监测
  20. 软件开发流程与项目管理

热门文章

  1. .net c#购物车模块分析
  2. 20190429 - 如何访问 macOS 的 httpd、mysql 等服务
  3. Python3:递归实现输出目录下所有的文件
  4. python主流测试框架的简介
  5. Boost Log : Trivial logging with filters
  6. yii2.0 读取user表新增字段问题
  7. HTML5缓存之 WebStorage
  8. 洛谷P1978 集合 [2017年6月计划 数论08]
  9. iRecognizer号码扫描开发实录
  10. Nginx笔记总结十一:Nginx重写规则指南