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

狗家新鮮店面

全局:

2019(10-12月) 码农类General 硕士 全职@google - 网上海投 - 技术电面  | | Other | 应届毕业生

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

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

x
新人帖,大家請見諒:
小弟今天早上剛結束狗家的電面,上來分享一下今天面的題目,希望能幫助到最近要面谷歌的大佬們
1.
Given an array "log" with N entries (N in the order of billions) and M type of numbers in the array. Define a function isMoreThanHalf(startIdx, endIdx, logType). Determine i
您好!
本帖隐藏的内容需要积分高于 188 才可浏览
您当前积分为 0。
使用VIP即刻解锁阅读权限或查看其他获取积分的方式
游客,您好!
本帖隐藏的内容需要积分高于 188 才可浏览
您当前积分为 0。
VIP即刻解锁阅读权限查看其他获取积分的方式
Unlock interview details and practice with AI
Curated Interview Questions from Top Companies
?
def preprocess():

3. How would you utilize your preprocess function to improve 1. ?

第一題沒什麼難度,但第二題想問問各位大神對這題有什麼想法嗎??

评分

参与人数 3大米 +9 收起 理由
lzyprint + 3 欢迎来一亩三分地论坛!
wulaoshi250 + 3 给你点个赞!
kzhu + 3 给你点个赞!

查看全部评分


上一篇:Quip New Grad onsite
下一篇:VMWare Propel New Grad Onsite
推荐
byfwh 2018-11-3 09:35:47 | 只看该作者
全局:
您好!
本帖隐藏的内容需要积分高于 100 才可浏览
您当前积分为 0。
使用VIP即刻解锁阅读权限或查看其他获取积分的方式
游客,您好!
本帖隐藏的内容需要积分高于 100 才可浏览
您当前积分为 0。
VIP即刻解锁阅读权限查看其他获取积分的方式
Unlock interview details and practice with AI
Curated Interview Questions from Top Companies

评分

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

查看全部评分

回复

使用道具 举报

推荐
lf963 2018-10-30 08:07:46 | 只看该作者
全局:
  1. public static void main(String[] args){
  2.         int[] nums = {7,5,7,7};
  3.         MoreThanHalf m = new MoreThanHalf(nums);
  4.         System.out.println(m.isMoreThanHalf(0, 3, 6));
  5.         System.out.println(m.isMoreThanHalf(1, 3, 7));
  6.         System.out.println(m.isMoreThanHalf(2, 5, 7));
  7.         System.out.println(m.isMoreThanHalf(4, 10, 4));
  8.     }

  9.     static class MoreThanHalf{
  10.         Map<Integer, List<Integer>> myMap;
  11.         int numsLength;
  12.         MoreThanHalf(int[] nums){
  13.             numsLength = nums.length;
  14.             myMap = new HashMap<>();
  15.             for(int i=0; i<numsLength; i++){
  16.                 if(!myMap.containsKey(nums[i]))
  17.                     myMap.put(nums[i], new ArrayList<>());
  18.                 myMap.get(nums[i]).add(i);
  19.             }
  20.         }

  21.         boolean isMoreThanHalf(int start, int end, int log){
  22.             if(start < 0 || end >= numsLength || !myMap.containsKey(log))
  23.                 return false;
  24.             int length = end - start + 1;
  25.             int low = binarySearch(start, myMap.get(log), true);
  26.             int upper = binarySearch(end, myMap.get(log), false);
  27.             return (upper - low + 1) * 2 > length;
  28.         }

  29.         private int binarySearch(int target, List<Integer> nums, boolean findLowerBound){
  30.             int low = 0, high = nums.size() - 1;
  31.             while(low + 1 < high){
  32.                 int mid = low + ((high - low) >> 1);
  33.                 if(nums.get(mid) > target)
  34.                     high = mid;
  35.                 else if(nums.get(mid) < target)
  36.                     low = mid;
  37.                 else
  38.                     return nums.get(mid);
  39.             }
  40.             if(findLowerBound){
  41.                 if(nums.get(low) >= target)
  42.                     return nums.get(low);
  43.                 return nums.get(high);
  44.             }

  45.             // find upperbound
  46.             if(nums.get(high) <= target)
  47.                 return nums.get(high);
  48.             return nums.get(low);

  49.         }
  50.     }
复制代码

评分

参与人数 1大米 +3 收起 理由
Nooneknows + 3 看了好半天总算懂了

查看全部评分

回复

使用道具 举报

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

使用道具 举报

🔗
eklever0409 2018-10-30 03:06:53 | 只看该作者
全局:
你考的python语言呀?怎么还有pre process
回复

使用道具 举报

🔗
byfwh 2018-10-30 03:16:46 | 只看该作者
全局:
我想是不是可以简历一个HashMap数组如arr
然后每次arr[end].get(num) - arr[start - 1].get(num)
但是这样的空间复杂度会不会很高?
回复

使用道具 举报

🔗
Judith8899 2018-10-30 03:28:42 | 只看该作者
全局:
第一题是直接遍历一下就好了吗?
回复

使用道具 举报

🔗
pandami 2018-10-30 04:57:51 来自APP | 只看该作者
全局:
是不是可以建立对应每个log类型的数目的presum array
回复

使用道具 举报

🔗
pandami 2018-10-30 04:58:59 来自APP | 只看该作者
全局:
byfwh 发表于 2018/10/30 03:16:46
我想是不是可以简历一个HashMap数组如arr
然后每次arr[end].get(num) - arr[start - 1].get(num)
但是这样的空间复杂度会不会很高?

m * n
m log类型数目
n log总条数
回复

使用道具 举报

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

使用道具 举报

🔗
lf963 2018-10-31 01:22:58 | 只看该作者
全局:
hlckl123456 发表于 2018-10-30 14:53
log里的数不是随机的嘛,binary search的原理是什么

原來是隨機的!?  那我錯題目了
回复

使用道具 举报

🔗
lf963 2018-10-31 01:23:17 | 只看该作者
全局:
lf963 发表于 2018-10-31 01:22
原來是隨機的!?  那我錯題目了

我誤解題目的意思了
回复

使用道具 举报

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

本版积分规则

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