[职场感言] 工作一年了,聊聊三件事

一亩三分地论坛

 找回密码
 Sign Up 注册获取更多干货
E轮2.5亿美元融资
K12教育独角兽一起作业
北京-诚聘人工智能/教育/大数据岗
坐标湾区
Games Startup
招聘游戏开发工程师
游戏初创公司招聘工程师、UIUX Designer和游戏策划
码农求职神器Triplebyte:
不用海投
内推多家公司面试
把贵司招聘信息放这里
查看: 1581|回复: 1
收起左侧

meeting room返回每个room的meeting

[复制链接] |试试Instant~ |关注本帖
shuiguo 发表于 2016-10-7 02:25:59 | 显示全部楼层 |阅读模式

2016(10-12月) 码农类General 硕士 其他@ - Other - 其他  | Other | 其他

注册一亩三分地论坛,查看更多干货!

您需要 登录 才可以下载或查看,没有帐号?Sign Up 注册获取更多干货

x
记得之前看到某个面经里提到类似meeting room II,但是返回每个房间的具体的meeting。输入[0,30][5,10][15,35][32,40],输出 room1: [0,30][32,40], room2[5,10][15,35]之类的。
试着写了个方法,但是感觉比较麻烦,新建了个Room class。有bug,没想明白为什么错。。。编译的时候还会提示两个note,不知道是为什么。。。

Note: solution.java uses unchecked or unsafe operations.
Note: Recompile with -Xlint:unchecked for details.
MacBook-Pro:code loujunjie$ java solution
current firstEnd 30
creating a new room: 5,10;
current firstEnd 10
current firstEnd 35
creating a new room: 32,40;. 一亩-三分-地,独家发布
5,10;15,35;
0,30; 来源一亩.三分地论坛.
32,40;

. From 1point 3acres bbs
请问这题有什么简便的办法解么?谢谢!

import java.util.*;

public class solution {
        public static void main(String[] args){
            solution programm = new solution();
        Interval[] intervals = new Interval[4];
. 1point3acres        intervals[0] = new Interval(0,30);
        intervals[1] = new Interval(15,35);
        intervals[2] = new Interval(5,10);
        intervals[3] = new Interval(32,40);

            programm.minMeetingRooms(intervals);
        }
.1point3acres网
来源一亩.三分地论坛.
  public void minMeetingRooms(Interval[] intervals) {
. 留学申请论坛-一亩三分地
        int count = 1;
        Comparator cmpStart = new Comparator<Interval>() {. Waral 博客有更多文章,
            @Override
            public int compare(Interval i1, Interval i2) {
                return i1.start - i2.start;
            }
        };
        Comparator cmpEnd = new Comparator<Room>() {
            @Override
            public int compare(Room r1, Room r2) {. 围观我们@1point 3 acres
                return r1.end - r2.end; 来源一亩.三分地论坛.
            }
        };
        Arrays.sort(intervals, cmpStart);
        Queue<Room> endTime = new PriorityQueue<Room>(intervals.length, cmpEnd); //min heap. visit 1point3acres for more.
        Room room = new Room(intervals[0].end);
        room.meetings.add(intervals[0]);
        endTime.add(room);. 围观我们@1point 3 acres

        for(int i=1; i<intervals.length; i++) {
            Room firstEnd = endTime.peek();
            System.out.println("current firstEnd " + firstEnd.end);. 1point3acres
            //using the same room-google 1point3acres
            if(intervals.start>=firstEnd.end) {-google 1point3acres
                firstEnd.end = intervals.end;. visit 1point3acres for more.
                firstEnd.meetings.add(intervals);-google 1point3acres
            } else {
                System.out.println("creating a new room: " + intervals.toString());
                Room newRoom = new Room(intervals.end);
                newRoom.meetings.add(intervals);.留学论坛-一亩-三分地
                endTime.add(newRoom);. 留学申请论坛-一亩三分地
            }
        }

        for(Room r : endTime) {
            System.out.println(r.toString());
        }
    }

}

class Interval {. 一亩-三分-地,独家发布
      int start;
      int end;
. 1point3acres      Interval() { start = 0; end = 0; }
      Interval(int s, int e) { start = s; end = e; }

    public String toString() {
        String s = start + "," + end + ";";. from: 1point3acres
        return s;. 1point 3acres 论坛
    }
}
. 一亩-三分-地,独家发布
class Room {
    int end;
    List<Interval> meetings;
    Room(int end) {
        this.end = end;
        meetings = new ArrayList<Interval>();
    }
    public String toString() {
        String s = " ";
        for(Interval i : meetings) {
            s+=i.toString();
        }
        return s;. 牛人云集,一亩三分地
    }
}




. 1point3acres

XavierWangXY 发表于 2016-10-7 03:29:00 | 显示全部楼层
存一下已经处理的interval到room的map?这样每次复用meeting room时候可以从上一个meeting get到当前room number?
回复 支持 反对

使用道具 举报

本版积分规则

提醒:发帖可以选择内容隐藏,部分板块支持匿名发帖。请认真读完以下全部说明:

■隐藏内容方法: [hide=200]你想要隐藏的内容比如面经[/hide]
■意思是:用户积分低于200则看不到被隐藏的内容
■可以自行设置积分值,不建议太高(200以上太多人看不到),也不建议太低(那就没必要隐藏了)
■建议只隐藏关键内容,比如具体的面试题目、涉及隐私的信息,大部分内容没必要隐藏。
■微信/QQ/电子邮件等,为防止将来被骚扰甚至人肉,以论坛私信方式发给对方最安全。
■匿名发帖的板块和方法:http://www.1point3acres.com/bbs/thread-405991-1-1.html

关闭

一亩三分地推荐上一条 /5 下一条

手机版|小黑屋|一亩三分地论坛声明

custom counter

GMT+8, 2018-5-24 14:46

Powered by Discuz! X3

© 2001-2013 Comsenz Inc. Design By HUXTeam

快速回复 返回顶部 返回列表