12
返回列表 发新帖
楼主: sunjiawen2009
跳转到指定楼层
上一主题 下一主题
收起左侧

Google 最新Seattle电面

🔗
atlas1017 2016-4-23 02:55:10 | 只看该作者
全局:
  1. public class fourWayStop {

  2.         private class Lane {
  3.                 public Queue<Car> queue;
  4.                 public Lane() {
  5.                         queue = new Queue<Car>();
  6.                 }
  7.         }

  8.         private Lane lane0;
  9.         private Lane lane1;
  10.         private Lane lane2;
  11.         private Lane lane3;

  12.         private class Pair {
  13.                 public Lane lane;
  14.                 public Car car;
  15.         }

  16.         private Queue<Pair> ready;

  17.         public fourWayStop {
  18.                 lane0 = new Lane();
  19.                 lane1 = new Lane();
  20.                 lane2 = new Lane();
  21.                 lane3 = new Lane();

  22.                 ready = new Queue<car>();
  23.         }

  24.         public void arriveCar(Car oneCar, Lane oneLane) {
  25.                 if(oneLane.queue.isEmpty()) {
  26.                         Pair onePair = new Pair();
  27.                         onePair.lane = oneLane;
  28.                         onePair.car = oneCar;

  29.                         ready.add(onePair);
  30.                 }
  31.                 oneLane.queue.add(oneCar);
  32.         }

  33.         public Car getNext() {
  34.                 if(ready.isEmpty())
  35.                         throw new NullPointerException();
  36.                 Pair onePair = ready.remove();
  37.                 Car oneCar = onePair.car;
  38.                 Lane oneLane = onePair.lane;

  39.                 oneLane.queue.remove();

  40.                 if(!oneLane.queue.isEmpty()) {
  41.                         Car firstCar = oneLane..queue.peek();
  42.                        
  43.                         Pair firstPair = new Pair();
  44.                         firstPair.car = firstCar;
  45.                         firstPair.lane = oneLane;
  46.                         ready.add(firstPair);
  47.                 }

  48.                 return oneCar;
  49.         }
  50. }
复制代码


大概长这样? 欢迎指正!

补充内容 (2016-4-23 02:57):
constructor 少写了个()  =。=

补充内容 (2016-4-23 02:57):
十五分钟真的写不出来啊= =
回复

使用道具 举报

🔗
ykwwind 2016-4-23 03:07:06 | 只看该作者
全局:
我怎么记得four way...对向可以同时走
这样的话就是个状态机啊.
回复

使用道具 举报

🔗
xdrealmadrid 2016-4-23 03:07:17 | 只看该作者
全局:
请问是FIFO的原则吗 如果是这样 直接弄个queue可行吗
回复

使用道具 举报

🔗
atlas1017 2016-4-23 03:12:07 | 只看该作者
全局:
ykwwind 发表于 2016-4-23 03:07
我怎么记得four way...对向可以同时走
这样的话就是个状态机啊.

这个算是follow up吧 所以对向可以走的意思是 看最先到stop sign的车的对面是不是刚好有车在等 如果有的话就可以沾光一起走?
回复

使用道具 举报

🔗
 楼主| sunjiawen2009 2016-4-23 04:12:36 | 只看该作者
全局:
atlas1017 发表于 2016-4-23 02:55
大概长这样? 欢迎指正!

补充内容 (2016-4-23 02:57):

你这么写应该是对的。我刚写完arriveCar就没时间了。。估计挂了。。
回复

使用道具 举报

🔗
atlas1017 2016-4-23 04:57:12 | 只看该作者
全局:
sunjiawen2009 发表于 2016-4-23 04:12
你这么写应该是对的。我刚写完arriveCar就没时间了。。估计挂了。。

时间确实紧张 我15分钟也写不完 anyway多谢分享祝好运!
回复

使用道具 举报

🔗
Effiel 2016-4-24 11:46:00 | 只看该作者
全局:
atlas1017 发表于 2016-4-23 02:55
大概长这样? 欢迎指正!

补充内容 (2016-4-23 02:57):

这个应该不全面,每个到应该有一个timestamp, 纪录排到第一个的时间(到达或排到), 然后比四个道的时间
回复

使用道具 举报

🔗
atlas1017 2016-4-24 12:42:41 | 只看该作者
全局:
您好!
本帖隐藏的内容需要积分高于 100 才可浏览
您当前积分为 0。
使用VIP即刻解锁阅读权限或查看其他获取积分的方式
游客,您好!
本帖隐藏的内容需要积分高于 100 才可浏览
您当前积分为 0。
VIP即刻解锁阅读权限 或 查看其他获取积分的方式
Unlock interview details and practice with AI
Popular Interview Questions from Top Companies
回复

使用道具 举报

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

本版积分规则

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