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

2.23 1分钟前的面经

全局:

2016(1-3月) 码农类General 硕士 实习@google - 内推 - 技术电面  | | Other | 应届毕业生

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

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

x
第一轮,国人小哥。
给我一堆unsorted数字,问我可不可以等分成若干组,每组由五个连续的整数组成。
eg: 1,2,3,4,5,4,5 -> false
1,2,3,4,5,2,3,4,5,6 ->true
follow up: 问我可不可以等分成若干组,每组由五个重复数组成。
follo
您好!
本帖隐藏的内容需要积分高于 188 才可浏览
您当前积分为 0。
使用VIP即刻解锁阅读权限或查看其他获取积分的方式
游客,您好!
本帖隐藏的内容需要积分高于 188 才可浏览
您当前积分为 0。
VIP即刻解锁阅读权限 或 查看其他获取积分的方式
Unlock interview details and practice with AI
Curated Interview Questions from Top Companies
直接跟他说了这不像是面试,更像是捞家常。

国人小哥最后一题follow up 有点卡住,不够时间没写完,不知道会不会给同胞面子。第二轮这个我就不知道他会怎么报上去了,不过感觉交了个朋友,还是不错的。

评分

参与人数 2大米 +23 收起 理由
Jester_Z + 20 感谢分享!
jak47042007 + 3 感谢分享!

查看全部评分


上一篇:Amazon实习电面
下一篇:现在才进pool是不是基本就淹死了(附面经)
推荐
Littles 2016-5-11 04:58:39 | 只看该作者
全局:
用TreeMap做可以吗?
  1. public static boolean isValid(int[] nums) {
  2.                 if (nums == null || nums.length < 5) {
  3.                         return false;
  4.                 }
  5.                 TreeMap<Integer,Integer> map = new TreeMap<Integer,Integer>();
  6.                 for (int i = 0; i < nums.length; i++) {
  7.                         map.put(nums[i], map.containsKey(nums[i]) ? map.get(nums[i])+1 : 1);
  8.                 }

  9.                 while (map.size() > 0) {
  10.                         int t = map.firstKey();
  11.                         int length = 0;
  12.                         while (length < 5 && map.containsKey(t)) {
  13.                                 map.put(t, map.get(t)-1);
  14.                                 if (map.get(t) == 0) {
  15.                                         map.remove(t);
  16.                                 }
  17.                                 t++;
  18.                                 length++;
  19.                         }
  20.                         if (length < 5) {
  21.                                 return false;
  22.                         }
  23.                 }
  24.                 return true;
  25.         }
复制代码
回复

使用道具 举报

全局:
第一题的hash
  1.         public boolean group(int [] arr){
  2.                 HashMap<Integer, Integer> map = new HashMap<>();
  3.                 int max = Integer.MIN_VALUE;
  4.                 for(int i: arr){
  5.                         map.put(i, map.containsKey(i)? map.get(i)+1:1);
  6.                         max = Math.max(i,max);
  7.                 }
  8.                 while(map.size() > 0){
  9.                         int length = 0, t = max;
  10.                         while(length < 5 && map.containsKey(t)){
  11.                                 map.put(t, map.get(t) - 1);
  12.                                 if(map.get(max) == 0)
  13.                                         max--;
  14.                                 if(map.get(t) == 0)
  15.                                         map.remove(t);
  16.                                 t--;
  17.                                 length++;
  18.                         }
  19.                         if(length < 5) return false;
  20.                 }
  21.                 return true;
  22.         }
复制代码
回复

使用道具 举报

全局:
jjustc 发表于 2016-6-12 10:59
Java我不太了解 不过我搜了一下看到说TreeMap是用红黑树实现的,insert和搜索都是logN,建TreeMap那一步 ...

我也是这么觉得,为啥大家都不喜欢直接sort,建hashmap, 然后每次从最小的元素找连续的五个数呢?
回复

使用道具 举报

无效楼层,该帖已经被删除
🔗
夜辉冥 2016-3-3 15:12:07 | 只看该作者
全局:
第一题你是怎么做的? Hash表?
回复

使用道具 举报

🔗
Alice0701 2016-3-30 06:06:19 | 只看该作者
全局:
楼主牛掰。。。面试得如此享受。。。
回复

使用道具 举报

🔗
jy_121 2016-4-28 07:04:24 | 只看该作者
全局:
第一题除了遍历还有其他方法吗?
回复

使用道具 举报

🔗
Littles 2016-5-11 04:50:06 | 只看该作者
全局:

这个跑不过{1,2,3,4,5,8,9,10,11,12}这样中间有gap的例子吧。是不是可以每一次while结束时再找一次最大值?
回复

使用道具 举报

🔗
Effiel 2016-5-11 07:36:09 | 只看该作者
全局:
Littles 发表于 2016-5-11 04:58
用TreeMap做可以吗?

赞一个,代码很简洁,是不是忘掉了第一个count可能大于1的case?

补充内容 (2016-5-14 01:34):
看错了,这个code是对的,再赞一个
回复

使用道具 举报

🔗
Littles 2016-5-13 23:21:45 | 只看该作者
全局:
Effiel 发表于 2016-5-11 07:36
赞一个,代码很简洁,是不是忘掉了第一个count可能大于1的case?

啥意思,第一个count?
回复

使用道具 举报

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

本版积分规则

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