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

空气床 上门 挂

全局:

2018(7-9月) 码农类General 博士 全职@airbnb - 网上海投 - HR筛选  | | Fail | 在职跳槽

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

您需要 登录 才可以下载或查看附件。没有帐号?注册账号

x
流程跟地里的多是一样的,两轮coding,两轮fit,一个design,一个experience。
您好!
本帖隐藏的内容需要积分高于 200 才可浏览
您当前积分为 0。
使用VIP即刻解锁阅读权限或查看其他获取积分的方式
游客,您好!
本帖隐藏的内容需要积分高于 200 才可浏览
您当前积分为 0。
VIP即刻解锁阅读权限 或 查看其他获取积分的方式
Unlock interview details and practice with AI
Curated Interview Questions from Top Companies




补充内容 (2018-10-23 12:52):
不知道怎么修改原来的帖子,试试“补充”可不可以:第二题的筛子是6个面,有数字1-6。

评分

参与人数 4大米 +43 收起 理由
匿名用户-5WABU + 30
micongjie + 3 给你点个赞!
kkissmart + 5 给你点个赞!
runningMajia + 5 给你点个赞!

查看全部评分


上一篇:Salesforce kulani1 OA
下一篇:脸家凉凉OnSite
推荐
elvisxyu 2018-12-1 13:17:50 | 只看该作者
全局:
楼主我算了下只有3.6-3.7左右,能帮忙看下哪理解不对么

  1. import java.util.Arrays;
  2. import java.util.HashSet;
  3. import java.util.Set;

  4. public class FlipGame {

  5.     public double flipGame() {
  6.         final int[] tile = {1, 2, 3, 4, 5, 6, 7, 8, 9};
  7.         final int TOTAL = 100000;
  8.         int count = 0;

  9.         for (int i = 0; i < TOTAL; i++) {
  10.             if (canWin(tile)) {
  11.                 count++;
  12.             }
  13.         }
  14.         return (double)count/ TOTAL;
  15.     }

  16.     private boolean canWin(int[] tile) {
  17.         Set<Integer> visited = new HashSet<>();
  18.         while (visited.size() != tile.length) {
  19.             int sum = simulate();
  20.             if (sum <= 9 && !visited.contains(sum)) {
  21.                 visited.add(sum);
  22.             } else if (!twoSum(visited, sum, tile))
  23.                 return false;
  24.         }
  25.         return true;
  26.     }

  27.     public boolean twoSum(Set<Integer> visited, int sum, int[] tile) {
  28.         Set<Integer> set = new HashSet<>();
  29.         for (int i = 0; i < tile.length; i++) {
  30.             if (!visited.contains(tile[i]) && !visited.contains(sum - tile[i]) && set.contains(sum - tile[i])) {
  31.                 visited.add(tile[i]);
  32.                 visited.add(sum - tile[i]);
  33.                 return true;
  34.             }
  35.             set.add(tile[i]);
  36.         }
  37.         return false;
  38.     }

  39.     private int simulate() {
  40.         int value1 = (int)(Math.random() * 6 + 1);
  41.         int value2 = (int)(Math.random() * 6 + 1);

  42.         int sum = value1 + value2;
  43.         return sum;
  44.     }

  45.     public static void main(String[] args) {
  46.         FlipGame sl = new FlipGame();
  47.         double rate = sl.flipGame();
  48.         System.out.println(rate);
  49.     }
  50. }
复制代码
回复

使用道具 举报

推荐
runningMajia 2018-10-23 11:39:08 | 只看该作者
全局:
ShawnG 发表于 2018-10-23 00:07
十分感谢。
如果可以用两个4的话,我算的大概到了9%左右,不能用两个4的话只有4.8%左右。

我这个写法哪里出错了吗,大神们的4.8是怎么算出来了,我这边最多2%

  1. public static boolean canWin(int[] tile) {
  2.                 Set<Integer> visited = new HashSet<>();
  3.                 Random r = new Random();
  4.                 while (visited.size() != tile.length) {
  5.                         int r1 = r.nextInt(9) + 1;
  6.                         int r2 = r.nextInt(9) + 1;
  7.                         int sum = r1 + r2;
  8.                         if (sum <= 9 && !visited.contains(sum)) {
  9.                                 visited.add(sum);
  10.                         } else if (!twoSum(visited, sum)) {
  11.                                 return false;
  12.                         }
  13.                 }
  14.                 return true;
  15.         }

  16.         public static boolean twoSum(Set<Integer> visited,  int sum) {
  17.                 Set<Integer> set = new HashSet<>();
  18.                 for (int i = 1; i <= 9; i++) {
  19.                         if (set.contains(sum - i)) {
  20.                                 visited.add(sum - i);
  21.                                 visited.add(i);
  22.                                 return true;
  23.                         }
  24.                         set.add(i);
  25.                 }
  26.                 return false;
  27.         }
复制代码
回复

使用道具 举报

推荐
runningMajia 2018-10-23 11:39:44 | 只看该作者
全局:
owl 发表于 2018-10-23 03:03
大概写了一下出来也是 4.8-4.9 边缘。。。

我这个写法哪里出错了吗,大神们的4.8是怎么算出来了,我这边最多2%

  1. public static boolean canWin(int[] tile) {
  2.                 Set<Integer> visited = new HashSet<>();
  3.                 Random r = new Random();
  4.                 while (visited.size() != tile.length) {
  5.                         int r1 = r.nextInt(9) + 1;
  6.                         int r2 = r.nextInt(9) + 1;
  7.                         int sum = r1 + r2;
  8.                         if (sum <= 9 && !visited.contains(sum)) {
  9.                                 visited.add(sum);
  10.                         } else if (!twoSum(visited, sum)) {
  11.                                 return false;
  12.                         }
  13.                 }
  14.                 return true;
  15.         }

  16.         public static boolean twoSum(Set<Integer> visited,  int sum) {
  17.                 Set<Integer> set = new HashSet<>();
  18.                 for (int i = 1; i <= 9; i++) {
  19.                         if (set.contains(sum - i)) {
  20.                                 visited.add(sum - i);
  21.                                 visited.add(i);
  22.                                 return true;
  23.                         }
  24.                         set.add(i);
  25.                 }
  26.                 return false;
  27.         }
复制代码
回复

使用道具 举报

🔗
runningMajia 2018-10-19 10:43:00 | 只看该作者
全局:
多谢楼主分享!第二题这个输入怎么定义呢?还是要自己像8 puzzle一样全部自己设计?
回复

使用道具 举报

🔗
 楼主| flyman3046 2018-10-19 11:18:04 | 只看该作者
全局:
runningMajia 发表于 2018-10-19 10:43
多谢楼主分享!第二题这个输入怎么定义呢?还是要自己像8 puzzle一样全部自己设计?

没有特定的输入要求,只要仿真整个游戏过程,输出结果就行。我当时是用9个bits来表示9个tile的状态。
回复

使用道具 举报

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

使用道具 举报

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

使用道具 举报

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

使用道具 举报

🔗
dr.rc 2018-10-20 00:03:52 | 只看该作者
全局:
第二题是我一个月前的电面题, 感觉是电面/onsite题不分的
回复

使用道具 举报

🔗
 楼主| flyman3046 2018-10-20 00:17:16 | 只看该作者
全局:
dr.rc 发表于 2018-10-20 00:03
第二题是我一个月前的电面题, 感觉是电面/onsite题不分的

我看到的面经没有这题,所以以为是新题,看样还是没把面经看全。
回复

使用道具 举报

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

使用道具 举报

🔗
 楼主| flyman3046 2018-10-20 00:36:17 | 只看该作者
全局:
runningMajia 发表于 2018-10-20 00:20
多谢回复!

options2有个地方是:如果s=10,这样的话,就先看tile1和tile9的状态,如果都是unflipped ...

我当时是在5%左右,估计还是哪儿有问题或者对游戏理解有偏差

评分

参与人数 1大米 +5 收起 理由
runningMajia + 5 给你点个赞!

查看全部评分

回复

使用道具 举报

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

本版积分规则

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