楼主: novac812
跳转到指定楼层
上一主题 下一主题
收起左侧

AMAZON OA2 新的一个coding题!!!

 
🔗
zchang3 2015-9-25 06:19:46 | 只看该作者
全局:
请问楼主是什么时候投的?
回复

使用道具 举报

🔗
dwl1222 2015-9-25 06:36:11 | 只看该作者
全局:
public class process {
        int arriveTime;
        int excuteTime;
        process(int arr, int exc) {
                arriveTime = arr;
                excuteTime = exc;
        }
}

// Assume arrive is sorted.
public double roundRobin(int[] arrive, int[] excute, int q) {
        LinkedList<process> queue = new LinkedList<>();
        int curTime = 0;
        int waitTime = 0;
        int nextProIdx = 0;
        while (!queue.isEmpty() || nextProIdx < arrive.length) {
                if (!queue.isEmpty()) {
                        process cur = queue.poll();
                        waitTime += curTime - cur.arriveTime;
                        curTime += Math.min(cur.excuteTime, q);
                        for (int i = nextProIdx; i < arrive.length; i ++) {
                                if (arrive[i] <= curTime) {
                                        queue.offer(new process(arrive[i], excute[i]));
                                        nextProIdx = i + 1;
                                } else {
                                        break;
                                }
                        }
                        if (cur.excuteTime > q) {
                                queue.offer(new process(curTime, cur.excuteTime - q);
                        }
                } else {
                        queue.offer(new process(arrive[nextProIdx], excute[nextProIdx]));
                        curTime = arrive[nextProIdx ++];
                }
        }
       
        return (double)waitTime / arrive.length;
}
回复

使用道具 举报

全局:
还有请问楼主遇见的另一道题是什么题?
回复

使用道具 举报

🔗
rogerdai 2015-10-1 01:52:40 | 只看该作者
全局:
我算出的average wait time结果也是2.66666,也就是(8 / 3)。oa这个结果是怎么算出来的呢?
回复

使用道具 举报

🔗
rogerdai 2015-10-1 02:00:19 | 只看该作者
全局:
噢,我明白了。当job 3到达的时候,会被推入队列尾,所以在job 1的后面,这样average wait time就是( 7 / 3 )了
回复

使用道具 举报

🔗
rogerdai 2015-10-1 02:01:23 | 只看该作者
全局:
噢,我明白了。当job 3到达的时候,会被推入队列尾,所以在job 1的后面,这样average wait time就是( 7 / 3 )了
回复

使用道具 举报

🔗
lordofone 2015-10-3 01:32:52 | 只看该作者
全局:
dwl1222 发表于 2015-9-25 06:36
public class process {
        int arriveTime;
        int excuteTime;

亲测可用,碉堡了
回复

使用道具 举报

🔗
dwl1222 2015-10-3 05:13:30 | 只看该作者
全局:
lordofone 发表于 2015-10-3 01:32
亲测可用,碉堡了

这题我光看他说的完全不理解。看了wiki才知道啥意思
回复

使用道具 举报

🔗
lordofone 2015-10-3 12:45:11 | 只看该作者
全局:
dwl1222 发表于 2015-10-3 05:13
这题我光看他说的完全不理解。看了wiki才知道啥意思

是厉害,那个round robin的题有答案么。。。
回复

使用道具 举报

全局:
楼主后来怎么样了
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册账号
隐私提醒:
  • ☑ 禁止发布广告,拉群,贴个人联系方式:找人请去🔗同学同事飞友,拉群请去🔗拉群结伴,广告请去🔗跳蚤市场,和 🔗租房广告|找室友
  • ☑ 论坛内容在发帖 30 分钟内可以编辑,过后则不能删帖。为防止被骚扰甚至人肉,不要公开留微信等联系方式,如有需求请以论坛私信方式发送。
  • ☑ 干货版块可免费使用 🔗超级匿名:面经(美国面经、中国面经、数科面经、PM面经),抖包袱(美国、中国)和录取汇报、定位选校版
  • ☑ 查阅全站 🔗各种匿名方法

本版积分规则

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