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

亚麻Onsite

🔗
soupsoup88 2019-5-7 13:37:14 | 只看该作者
全局:
xxw289 发表于 2019-5-4 03:57
楼主能讲下第二轮你用的循环是怎样的么?我只能想到O(nlogn)的做法。已加米!!!

请问O(nlogn)的做法是怎么样的啊,我只能想到暴力dfs.
回复

使用道具 举报

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

评分

参与人数 1大米 +1 收起 理由
soupsoup88 + 1 感谢分享!!!

查看全部评分

回复

使用道具 举报

🔗
wsx247 2019-5-8 08:13:39 | 只看该作者
全局:
楼主方便给timeline吗
回复

使用道具 举报

🔗
soupsoup88 2019-5-8 13:17:44 | 只看该作者
全局:
xxw289 发表于 2019-5-7 23:46
我的想法是存一个Map, 字母的话只存在单词中出现过的,这个map用了O(n + m)。然后建一个class叫LetterToC ...

后来问了下别人,好像也可以用最大匹配做,会比dfs复杂度低
回复

使用道具 举报

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

使用道具 举报

🔗
sj1456 2019-5-9 05:49:23 | 只看该作者
全局:
感谢楼主分享,第三轮没太看明白,大概意思是不是和leetcode上那个vertical遍历二叉树类似?
回复

使用道具 举报

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

使用道具 举报

🔗
yegou 2019-5-9 10:49:38 | 只看该作者
全局:
xxw289 发表于 2019-5-9 07:45
要记录一下用过的硬币,用过的就不能用了。用一个boolean[] used标记己经用过的,后面poll出来的要是用过 ...

靠谱,是这么个道理!
回复

使用道具 举报

全局:
  1. public class Coin_Word_Backtracking {
  2.     public boolean find(String[] coins, String word){
  3.         HashMap<String, List<Integer>> hm = new HashMap<>();
  4.         for (int i = 0; i < coins.length; i++){
  5.             String coin = coins[i];
  6.             String[] co = coin.split(",");
  7.             for (String c : co){
  8.                 hm.putIfAbsent(c, new ArrayList<>());
  9.                 hm.get(c).add(i);
  10.             }
  11.         }

  12.         return backtrack(0, word.toCharArray(), hm, new HashSet<>());

  13.     }
  14.     public boolean backtrack(int idx, char[] word, HashMap<String, List<Integer>> hm, HashSet<Integer> set){
  15.         if (idx >= word.length)
  16.             return true;
  17.         String cur = String.valueOf(word[idx]);
  18.         for (int i : hm.get(cur)){
  19.             if (set.add(i)){
  20.                 if (backtrack(idx + 1, word, hm, set))
  21.                     return true;
  22.                 else
  23.                     set.remove(i);
  24.             }
  25.         }
  26.         return false;
  27.     }
  28. }
复制代码



第二题 我觉得用backtracking

评分

参与人数 1大米 +2 收起 理由
PonyGISer + 2 很有用的信息!

查看全部评分

回复

使用道具 举报

全局:
可否麻烦LZ详细说下第二轮的思路 已加米 拜托啦
回复

使用道具 举报

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

本版积分规则

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