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

领英onsite新题

全局:

2018(1-3月) 码农类General 硕士 全职@linkedin - 网上海投 - Onsite  | | Other | 在职跳槽

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

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

x
Onsite的时候碰到了一道新题,其他题都是tag题就不赘述了, system design 也是面经题, top k shared link。
您好!
本帖隐藏的内容需要积分高于 150 才可浏览
您当前积分为 0。
使用VIP即刻解锁阅读权限或查看其他获取积分的方式
游客,您好!
本帖隐藏的内容需要积分高于 150 才可浏览
您当前积分为 0。
VIP即刻解锁阅读权限查看其他获取积分的方式
Unlock interview details and practice with AI
Curated Interview Questions from Top Companies

当时用dfs + memo做的,写的不太对。谁给写个正确的?多谢了啊


补充内容 (2018-1-31 08:10):
求点大米,很多帖子不能看

评分

参与人数 6大米 +50 收起 理由
ksong0514 + 1 谢谢楼主分享!
admin + 30
vincent.wang + 3 给你点个赞!
anastasia22 + 10 感谢分享
qqfight2017 + 3 share new question

查看全部评分


上一篇:Amazon 社招 OA
下一篇:跪求帮助!可能offer比较:头条 ai lab vs wayfair vs SF startup

本帖被以下淘专辑推荐:

全局:
感觉用 backtracking + trie 做好一些
回复

使用道具 举报

全局:
octluck 发表于 2018-1-11 13:42
如果你写出来能贴一个吗?或者站内也行,多谢啦

额,想了一晚上没想出来dfs+mem要怎么实现。感觉要保证所有应该被替换的substring都被替换好难。

想了个DP的解法,不知道对不对:
  1. class Solution {
  2.         Map<String, String> dict;

  3.         public List<String> replaceString (String s1, List<String> s2, List<String> s3) {
  4.                 dict = new HashMap<String, String>();
  5.                 for (int i=0; i<s2.size(); i++) {
  6.                         dict.put(s2.get(i), s3.get(i));
  7.                 }
  8.                
  9.                 List<List<String>> dp = new LinkedList<List<String>>();
  10.                 dp.add(new LinkedList<String>());
  11.                 dp.get(0).add("");
  12.                
  13.                 for (int r=0; r<s1.length(); r++) {
  14.                         dp.add(new LinkedList<String>());
  15.                         for (int l=0; l<=r; l++) {
  16.                                 String key = s1.substring(l, r+1);
  17.                                 if (dict.containsKey(key)) {
  18.                                         String suffix = dict.get(key);
  19.                                         List<String> prefixs = dp.get(l);
  20.                                         for (String prefix: prefixs) {
  21.                                                 dp.get(r+1).add(prefix + suffix);
  22.                                         }
  23.                                 }
  24.                         }
  25.                         if (dp.get(r+1).size() == 0) {
  26.                                 List<String> prefixs = dp.get(r);
  27.                                 for (String prefix: prefixs) {
  28.                                         dp.get(r+1).add(prefix + s1.charAt(r));
  29.                                 }
  30.                         }
  31.                 }

  32.                 return dp.get(s1.length());
  33.         }
  34. }
复制代码
回复

使用道具 举报

🔗
 楼主| octluck 2018-1-9 16:22:38 | 只看该作者
全局:
另外面试的小哥和我说他家有人投诉面试题网上到处都是要求公司换题,不知道以后会不会换更多新题。大家抓紧时间啊。
回复

使用道具 举报

🔗
provhomme 2018-1-10 09:30:47 | 只看该作者
全局:
有这么麻烦吗?不是s1里面任何在s2里面出现的都换成s3中对应的吗?没有组合的情况吧?
直接替换就好啦,为什么要dfs?
回复

使用道具 举报

🔗
 楼主| octluck 2018-1-10 11:18:04 | 只看该作者
全局:
provhomme 发表于 2018-1-10 09:30
有这么麻烦吗?不是s1里面任何在s2里面出现的都换成s3中对应的吗?没有组合的情况吧?
直接替换就好啦,为 ...

因为 abbbbc 可以分成 a b b b b c, a bb bb c, a b b bb c, a b bb b c, a bb b b c
output: {adefdefdefdefc, adfgdfgc, adefdefdfgc, adefdfgdefc, adfgdefdefc}

面的时候给的例子就是组合啊
回复

使用道具 举报

🔗
provhomme 2018-1-10 13:57:54 | 只看该作者
全局:
octluck 发表于 2018-1-10 11:18
因为 abbbbc 可以分成 a b b b b c, a bb bb c, a b b bb c, a b bb b c, a bb b b c
output: {adefdef ...

哦,原来是这样,我还以为如果是b就全部是换一个,bb就全部是换两个呢。
回复

使用道具 举报

🔗
say543 2018-1-10 15:37:15 | 只看该作者
全局:
replacement 的order 是 list的order 吗? 就是{b, bb} 先consider 在consider bb 对否?
回复

使用道具 举报

🔗
 楼主| octluck 2018-1-11 13:07:54 | 只看该作者
全局:
say543 发表于 2018-1-10 15:37
replacement 的order 是 list的order 吗? 就是{b, bb} 先consider 在consider bb 对否?

这个我没问,应该没什么要求吧,但是不能替换的字母顺序不能变
回复

使用道具 举报

全局:
楼主请问你的dfs+mem算法中需要mem来记录什么呀?谢谢。
回复

使用道具 举报

🔗
 楼主| octluck 2018-1-11 13:20:30 | 只看该作者
全局:
楼上洗衣机成精 发表于 2018-1-11 13:18
楼主请问你的dfs+mem算法中需要mem来记录什么呀?谢谢。

原来用work break II 的思路,结果没有写出来
回复

使用道具 举报

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

本版积分规则

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