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

Google Onsite MTV

🔗
aiuou 2015-11-18 13:47:15 | 只看该作者
全局:
第四题是我面google的原题。
回复

使用道具 举报

🔗
guoqinlong 2015-11-18 21:21:08 | 只看该作者
全局:
  1. import java.util.ArrayList;
  2. import java.util.Arrays;
  3. import java.util.Collections;

  4. public class Solution {
  5.     ArrayList<Integer> misses;
  6.     public Solution(boolean[] nums) {
  7.         misses = new ArrayList<Integer>();
  8.         for (int i=0; i<nums.length; i++) {
  9.             if (nums[i] == false) {
  10.                 misses.add(i);
  11.             }
  12.         }
  13.     }

  14.     public int getRandom(int max) {
  15.         int ranVal = (int) (Math.random() *  (max-misses.size()));
  16.         int left = Collections.binarySearch(misses, ranVal);
  17.         if (left < 0) {
  18.             left = (left + 1) * (-1);
  19.             ranVal += left;
  20.         } else {
  21.             ranVal += (left+1);
  22.         }
  23.         return ranVal;
  24.     }

  25.     public static void main(String agrs[]) {
  26.         boolean[] nums = new boolean[5];
  27.         Arrays.fill(nums, true);
  28.         nums[3] = false;
  29.         Solution s = new Solution(nums);
  30.         int count[] = new int[nums.length];
  31.         for (int i=0; i< 30000; i++) {
  32.             count[s.getRandom(nums.length)] ++;
  33.         }
  34.         for (int i=0; i< nums.length; i++) {
  35.             System.out.println(i+"\t"+count[i]);
  36.         }        
  37.     }
  38. }
复制代码


写的第一题,感觉跟楼主的思路差不多~我是第一遍扫描把所有删除掉的数字的位置记录下来,接下来每次random[0, N-k), 然后二分搜索找到其中有多少个位置是被擦掉的,将这些位置加上即可。时间复杂度首先初始化的扫描是o(N),后来的每次随机是o(lgk)
回复

使用道具 举报

🔗
宝贝忆彼岸 2015-11-26 18:55:41 | 只看该作者
全局:
lz有消息了吗?
回复

使用道具 举报

🔗
千骨娜娜 2015-11-27 01:12:22 | 只看该作者
全局:
第四题是用slide window + LRU思想解决吗?把现在windows里面的字符放在LRU的double linked list里面?
回复

使用道具 举报

🔗
bobzhang2004 2015-12-1 23:25:08 | 只看该作者
全局:
guoqinlong 发表于 2015-11-18 21:21
写的第一题,感觉跟楼主的思路差不多~我是第一遍扫描把所有删除掉的数字的位置记录下来,接下来每次ran ...

把数据又放到另一个arraylist, 跟让写reservoir sampling 没什么区别啊?
回复

使用道具 举报

全局:
有戏,先恭喜lz. bless直接过不用match
回复

使用道具 举报

🔗
bobzhang2004 2015-12-4 12:38:40 | 只看该作者
全局:
kingfu 发表于 2015-11-18 02:35
这样可能也行吧,但是要修改原来的array。我当时先给了naive的算法是把n-k个数copy出来再uniform sample, ...

请问楼主是怎么存呢?List<Interval>, 那样sampling怎么写?
回复

使用道具 举报

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

使用道具 举报

🔗
zxcnn 2016-7-21 06:19:39 | 只看该作者
全局:
恭喜楼主,请问recruiter在hc之前有没有告诉你onsite的情况?
回复

使用道具 举报

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

本版积分规则

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