博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
lintcode:数飞机
阅读量:4973 次
发布时间:2019-06-12

本文共 2269 字,大约阅读时间需要 7 分钟。

给出飞机的起飞和降落时间的列表,用 interval 序列表示. 请计算出天上同时最多有多少架飞机?

如果多架飞机降落和起飞在同一时刻,我们认为降落有优先权。

样例

对于每架飞机的起降时间列表:[[1,10],[2,3],[5,8],[4,7]], 返回3

解题

 

利用HashMap记录每个时刻的飞机数量

利用set记录时间点

最后对set 的每个时间点,找出连续时间点飞机数量和最大的那个时间段

/** * Definition of Interval: * public classs Interval { *     int start, end; *     Interval(int start, int end) { *         this.start = start; *         this.end = end; *     } */class Solution {    /**     * @param intervals: An interval array     * @return: Count of airplanes are in the sky.     */    public int countOfAirplanes(List
airplanes) { // write your code here if(airplanes == null || airplanes.size() == 0) return 0; HashMap
map = new HashMap
(); Set
set = new TreeSet
();// 记录此时刻的飞机数量 for(int i =0;i
tmp = set.iterator(); while(tmp.hasNext()){ curcount += map.get(tmp.next()); // 从最小时间点开始找出连续最长的飞机数和 maxAirNo = Math.max(maxAirNo, curcount); } return maxAirNo; }}

 改成这样的好理解点

public class Solution {    /**     * @param n n pairs     * @return All combinations of well-formed parentheses     */    public ArrayList
generateParenthesis(int n) { // Write your code here ArrayList
result = new ArrayList
(); if(n<=0) return result; int left = 0,right=0; String str=""; generateParenthesis(n,left,right,str,result); return result; } public void generateParenthesis(int n,int left,int right,String str ,ArrayList
result){ // left == n 的时候只能加右括号 if(left == n){ for(int i=0;i< n- right;i++) str+=")"; result.add(str); return; } // left >= right 左括号 右括号都可以添加 if(left>=right){ generateParenthesis(n, left+1, right,str+"(",result); // left 长度加一 generateParenthesis(n, left, right+1,str+")",result); // right 长度加一 }else // left< right 失败 return; }}

 

 

转载于:https://www.cnblogs.com/theskulls/p/5349488.html

你可能感兴趣的文章
jquery.cookie.js操作cookie
查看>>
javascript遍历数组
查看>>
bzoj4765: 普通计算姬 (分块 && BIT)
查看>>
thinkphp5-----模板中函数的使用
查看>>
POJ-3211 Washing Clothes[01背包问题]
查看>>
[BZOJ4832][Lydsy1704月赛]抵制克苏恩
查看>>
数据库三范式
查看>>
看完漫画秒懂区块链
查看>>
对Haskell这门语言的基本认识
查看>>
mysql 安装补充
查看>>
大学里如何学习 ?
查看>>
Oracle命令类别
查看>>
js面试题:关于数组去重的四种方法总结
查看>>
Linux内核分析(三)----初识linux内存管理子系统
查看>>
stc12c5a60s2驱动TEA5767收音机模块硬件调试总结
查看>>
vue中提示$index is not defined
查看>>
css选择器
查看>>
看懂下面C++代码才说你理解了C++多态虚函数!
查看>>
ASP.NET上传下载文件
查看>>
Galaxy Nexus 全屏显示-隐藏Navigation Bar
查看>>