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

狗家 昂赛面经

🔗
放声 2019-4-15 23:33:44 | 只看该作者
全局:
看面经的门槛越来越高了啊。。。
回复

使用道具 举报

🔗
fuxi9999 2019-4-16 00:31:35 | 只看该作者
全局:
LZ, 第三轮的考点是什么,谢谢
回复

使用道具 举报

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

使用道具 举报

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

使用道具 举报

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

使用道具 举报

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

使用道具 举报

🔗
abinge 2019-4-16 11:22:02 | 只看该作者
全局:
分享一个DFS解法,大家讨论一下
  1.     public List<String> getPattern(int n) {
  2.         List<String> res = new ArrayList<>();
  3.         List<Character> exist = new ArrayList<>();
  4.         exist.add('1');
  5.         dfs(exist, res, "1", n);
  6.         return res;
  7.     }

  8.     private void dfs(List<Character> exist, List<String> res, String str, int n) {
  9.         if (str.length() == n) {
  10.             res.add(str);
  11.             return;
  12.         }
  13.         char end = exist.get(exist.size()-1);
  14.         for (char c = '1'; c <= end+1; c++){

  15.             if (!exist.contains(c)) {
  16.                 List<Character> newexist = new ArrayList<>(exist);
  17.                 newexist.add(c);
  18.                 dfs(newexist, res, str+c, n);
  19.             } else {
  20.                 dfs(exist, res, str+c, n);
  21.             }

  22.         }

  23.     }
复制代码
回复

使用道具 举报

🔗
geyu625 2019-4-16 13:35:55 | 只看该作者
全局:
分享一个第一题的一个DFS的解法 大家可以讨论下
  1.     public List<String> findAllPatterns(int n) {
  2.         List<String> results = new ArrayList();
  3.         if (n <= 0) {
  4.             return results;
  5.         }

  6.         Map<Character, Integer> existingMap = new HashMap();
  7.         findAllPatternHelper(n, results, existingMap, new StringBuilder());
  8.         return results;
  9.     }

  10.     private void findAllPatternHelper(int n, List<String> results, Map<Character, Integer> existingMap, StringBuilder sb) {
  11.         if (sb.length() == n) {
  12.             results.add(sb.toString());
  13.             System.out.println("sb is: " + sb.toString());
  14.             return;
  15.         }

  16.         Set<Character> set = new HashSet(existingMap.keySet());
  17.         for (Character ch : set) {
  18.             sb.append(ch);
  19.             // update exisingMap
  20.             existingMap.put(ch, existingMap.get(ch) + 1);
  21.             findAllPatternHelper(n, results, existingMap, sb);
  22.             sb.deleteCharAt(sb.length() - 1);
  23.             // update exisingMap
  24.             existingMap.put(ch, existingMap.get(ch) - 1);
  25.         }

  26.         // add new character
  27.         char newChar = (char) ('A' +  sb.length());
  28.         existingMap.put(newChar, 1);
  29.         sb.append(newChar);
  30.         findAllPatternHelper(n, results, existingMap, sb);
  31.         sb.deleteCharAt(sb.length() - 1);
  32.         if (existingMap.get(newChar) == 1) {
  33.             existingMap.remove(newChar);
  34.         } else {
  35.             existingMap.put(newChar, existingMap.get(newChar) - 1);
  36.         }
  37.     }
复制代码
回复

使用道具 举报

🔗
neowang 2019-4-16 23:30:27 | 只看该作者
全局:
第三轮最直接的想法就是把词典里的词全都放到hashset里,词的长度存到一个treeset里,然后扫给定的文件,用treeset里的所有长度看是不是在hashset里,是就在初始为0的孪生数组中标记为1,然后每一次cursor往后移动1。 这样的时间复杂度是O(文件的长度* 字典长度的种类)。 接下来的想法是感觉可以用carbin-karp优化,因为不同长度的验证感觉有重复计算。
回复

使用道具 举报

🔗
pc27149 2019-4-17 00:48:48 | 只看该作者
全局:
jdlimiao 发表于 2019-4-15 12:27
在扩展AA的时候,我只会加A(原string里自带的),以及一个新letter也就是B,不会再加C的,所以没有重复 ...

准确的说是紧接着当前string已有letter之后的一个新letter
回复

使用道具 举报

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

本版积分规则

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