一亩三分地论坛

 找回密码
 获取更多干货,去instant注册!

扫码关注一亩三分地公众号
查看: 659|回复: 3
收起左侧

[找工就业] snapchat 校招面经

[复制链接] |试试Instant~ |关注本帖
luochenhuan 发表于 2016-10-22 04:14:36 | 显示全部楼层 |阅读模式

2016(10-12月)-[14]CS硕士+<3个月短暂实习/全职 - 校园招聘会| 码农类全职@Snapchatfresh grad应届毕业生

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

您需要 登录 才可以下载或查看,没有帐号?获取更多干货,去instant注册!

x
warm up: 判断2个string是不是anagram,但是string会包含其他字符,我们只考虑a-z, 所以需要做一下预处理
follow up:给一个list of string, 返回最多anagram的count 比如 abc, bca, cba, aab, baa -> 3. 1point 3acres 璁哄潧

神罗天征 发表于 2016-10-22 04:21:51 | 显示全部楼层
follow up 能直接sort然后放入map吗?
回复 支持 反对

使用道具 举报

xiaozhuxiaozhu 发表于 2016-10-22 15:19:55 | 显示全部楼层
第2题 就是group anagram吧?
key用 sorted后的anagram做key,
然后便利map的values, 用一个max variable keep track of the largest value就可以了吧。
abc, bca, cba, aab, baa
放进map后是:
abc - > abc, bca, cba
aab - > aab, baa
然后traverse the map, 第1个key的values是size 3的list, 第2个是size 2 的list。 感觉不用做任何sort。 遍历一遍就ok?
回复 支持 反对

使用道具 举报

FTD2014 发表于 2016-11-7 00:24:22 | 显示全部楼层
1.
  1. public class Solution {
  2.     public boolean isAnagram(String s, String t) {
  3.         if(s == null || t == null) {
  4.             return false;
  5.         }
  6.         if(s.length() == 0 && t.length() == 0) {. 涓浜-涓夊垎-鍦帮紝鐙鍙戝竷
  7.             return true;
  8.         }
  9.         if(s.length() == 0) {
  10.             return false;. 涓浜-涓夊垎-鍦帮紝鐙鍙戝竷
  11.         }
  12.         if(s.length() != t.length()) {
  13.             return false;
  14.         }
  15.         HashMap<Character, Integer> map = new HashMap<Character, Integer>();
  16.         for(int i = 0; i < s.length(); i++) {
  17.             char c = s.charAt(i);
  18.             if(map.containsKey(c)) {
  19.                 map.put(c, map.get(c) + 1);
  20.             } else {
  21.                 map.put(c, 1);
  22.             }
  23.         }
  24.         for(int i = 0; i < t.length(); i++) {. 鐣欏鐢宠璁哄潧-涓浜╀笁鍒嗗湴
  25.             char c = t.charAt(i);.鐣欏璁哄潧-涓浜-涓夊垎鍦
  26.             if(!map.containsKey(c)) {
  27.                 return false;
  28.             }
  29.             map.put(c, map.get(c) - 1);. visit 1point3acres.com for more.
  30.             if(map.get(c) < 0) {
  31.                 return false;. from: 1point3acres.com/bbs
  32.             }
  33.         }
  34.         return true;
  35.     } 鏉ユ簮涓浜.涓夊垎鍦拌鍧.
  36. }
复制代码


2.
  1. public class Solution {
  2.     public List<List<String>> groupAnagrams(String[] strs) {
  3.         List<List<String>> list = new ArrayList<List<String>>();
  4.         if(strs == null || strs.length == 0) {
  5.             return list;. 鍥磋鎴戜滑@1point 3 acres
  6.         }
  7.         HashMap<String, ArrayList<String>> map = new HashMap<String, ArrayList<String>>();
  8.         for(int i = 0; i < strs.length; i++) {
  9.             char[] array = strs[i].toCharArray();
  10.             Arrays.sort(array);.1point3acres缃
  11.             String s = new String(array);
  12.             if(!map.containsKey(s)) {
  13.                 map.put(s, new ArrayList<String>());
  14.             }
  15.             map.get(s).add(strs[i]);
  16.         }
  17.         int count = 0;
  18.         ArrayList<String> result = new ArrayList<String>();
  19.         for(ArrayList<String> subList: map.values()) {
  20.             if(subList.size() > count) {.鐣欏璁哄潧-涓浜-涓夊垎鍦
  21.                 result = subList;. Waral 鍗氬鏈夋洿澶氭枃绔,
  22.                 count = subList.size();
  23.             }
  24.         }. 鍥磋鎴戜滑@1point 3 acres
  25.         return result;. From 1point 3acres bbs
  26.     }
  27. }
复制代码
回复 支持 反对

使用道具 举报

本版积分规则

请点这里访问我们的新网站:一亩三分地Instant.

Instant搜索更强大,不扣积分,内容组织的更好更整洁!目前仍在beta版本,努力完善中!反馈请点这里

关闭

一亩三分地推荐上一条 /5 下一条

手机版|小黑屋|一亩三分地论坛声明 ( 沪ICP备11015994号 )

custom counter

GMT+8, 2016-12-6 19:04

Powered by Discuz! X3

© 2001-2013 Comsenz Inc. Design By HUXTeam

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