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

Facebook 电面

全局:

2016(1-3月) 码农类General 博士 全职@meta - 内推 - 技术电面  | | Fail | 在职跳槽

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

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

x
上周面的,很简单一题让我弄砸了
您好!
本帖隐藏的内容需要积分高于 188 才可浏览
您当前积分为 0。
使用VIP即刻解锁阅读权限或查看其他获取积分的方式
游客,您好!
本帖隐藏的内容需要积分高于 188 才可浏览
您当前积分为 0。
VIP即刻解锁阅读权限 或 查看其他获取积分的方式
Unlock interview details and practice with AI
Popular Interview Questions from Top Companies
是面试的人指出的。找这个bug的时间太久,最后也没时间面第二题。啥也别说了,大家给点米安慰安慰吧。

评分

参与人数 3大米 +38 收起 理由
edcent + 5 感谢分享!
guixi107 + 3 坚持的不错,再接再厉!
夏虫不知雪花 + 30

查看全部评分


上一篇:Twitter OA March 19
下一篇:Twitter Onsite
推荐
sealove999 2016-4-3 07:13:54 | 只看该作者
全局:
  1. public class Solution {
  2.   public String cooldown(String s, int cooldown) {
  3.     StringBuilder sb = new StringBuilder();
  4.     Map<Character, Integer> m = new HashMap<>();
  5.     int writeIdx = 0;
  6.     for (int i = 0; i < s.length(); i++) {
  7.       char c = s.charAt(i);
  8.       if (m.containsKey(c)) {
  9.         while (writeIdx <= m.get(c) + cooldown) {
  10.           sb.append(".");
  11.           writeIdx++;
  12.         }
  13.       }
  14.       sb.append(c);
  15.       writeIdx++;
  16.       m.put(c, writeIdx - 1);
  17.     }
  18.     return sb.toString();
  19.   }

  20.   public int cooldown2(String s, int cooldown) {
  21.     Map<Character, Integer> m = new HashMap<>();
  22.     int writeIdx = 0;
  23.     for (int i = 0; i < s.length(); i++) {
  24.       char c = s.charAt(i);
  25.       if (m.containsKey(c)) {
  26.         writeIdx = Math.max(writeIdx, m.get(c) + cooldown + 1);
  27.       }
  28.       writeIdx++;
  29.       m.put(c, writeIdx - 1);
  30.     }
  31.     return writeIdx;
  32.   }

  33.   public static void main(String[] args) {
  34.     Solution ss = new Solution();
  35.     System.out.println(ss.cooldown("AABB", 5));
  36.     System.out.println(ss.cooldown2("AABB", 5));
  37.     return;
  38.   }
  39. }
复制代码
回复

使用道具 举报

全局:
写了下代码
  1. public class CooldownTime {
  2.         public static void main(String[] args) {
  3.                 System.out.println(cooldownBetter("ACDEGFABXYZPLB", 5));
  4.         }

  5.         public static int cooldownBetter(String input, int N) {
  6.                 int extra = 0;
  7.                 Map<Character, Integer> map = new HashMap<>();
  8.                 for (int i = 0; i < input.length(); i++) {
  9.                         char cur = input.charAt(i);
  10.                         if (map.containsKey(cur) && map.get(cur) >= i + extra - N) {
  11.                                 extra += (map.get(cur) - (i + extra - N)) + 2;
  12.                                 System.out.println(extra + " * ");
  13.                         }
  14.                         map.put(cur, i + extra - 1);
  15.                 }
  16.                 System.out.println(extra);
  17.                 return input.length() + extra;
  18.         }

  19. }
复制代码
回复

使用道具 举报

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

使用道具 举报

🔗
francisliu 2016-3-20 11:27:16 | 只看该作者
全局:
具体说说bug呗,警醒后人,同时祝好运,结果还没出来不是?
回复

使用道具 举报

🔗
 楼主| gigimei 2016-3-20 11:39:06 | 只看该作者
全局:
我用一个HashMap保存上一次任务的时间点。脑袋一发烧存成了在原字符串中的位置。我测试的例子比如ABAB,AABC什么的恰好找不出这个bug。说实话,如果不是面试这种错误根本不会犯。一紧张就技术变形了。第二天就收到recruiter的Thank You letter了。
回复

使用道具 举报

全局:
楼主不用太担心,有可能会过的,我面试的时候也出现了bug,最后也没有修改完全,后来又安排了一次加面
回复

使用道具 举报

🔗
freemail165 2016-3-21 02:19:10 | 只看该作者
全局:
一定要保留原来次序吗?
回复

使用道具 举报

🔗
 楼主| gigimei 2016-3-21 02:30:50 | 只看该作者
全局:
对,要保留原来的顺序。
回复

使用道具 举报

🔗
bestdyc 2016-3-21 04:28:08 | 只看该作者
全局:
楼主full time吗
回复

使用道具 举报

🔗
freemail165 2016-3-21 04:38:28 | 只看该作者
全局:

仔细看帖,另外问这个有啥意义?
回复

使用道具 举报

🔗
junw24 2016-3-23 12:32:40 | 只看该作者
全局:
gigimei 发表于 2016-3-20 11:39
我用一个HashMap保存上一次任务的时间点。脑袋一发烧存成了在原字符串中的位置。我测试的例子比如ABAB,AAB ...

为什么要用Hashmap?直接累加cooldown时间不行吗?
回复

使用道具 举报

🔗
wangmengcathy 2016-3-23 23:59:56 | 只看该作者
全局:
楼主你好,想问下这个难道必须要按顺序么 不是输出最短时间?比如AABB是AB...AB ?
回复

使用道具 举报

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

本版积分规则

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