赞
踩
贪心策略
一些项目要占用一个会议室宣讲, 会议室不能同时容纳两个项目的宣讲。 给你每一个项目开始的时间和结束的时间(给你一个数组, 里面 是一个个具体的项目), 你来安排宣讲的日程, 要求会议室进行 的宣讲的场次最多。 返回这个最多的宣讲场次。
- class Node{
- int start;
- int end;
- public Node(int start,int end){
- this.start=start;
- this.end=end;
- }
- }
-
- class EarlyEndTimeComparator implements Comparator<Node>{
- public int compare(Node node1,Node node2{
- return node1.end-node2.end;
- }
- }
- public int getResult(int[] startTimes,int[] endTimes,int startTime){
- Node[] nodes=new Node[startTimes.size()];
- for(int i=0;i<startTimes.length;i++){
- nodes[i]=new Node(startTimes[i],endTimes[i]);
- }
- Arrays.sort(nodes,new EarlyEndComparator()); // 排序,按结束时间短的在前面
- int result=0;
- for(int i=0;i<nodes.size();i++){
- if(node[i].start>=startTime){
- result++;
- startTime=node[i].end;
- }
-
- }
-
-
-
-
- }
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。