《数据科学面试40+真题讲解》,K神本年度最后一次开课


一亩三分地论坛

 找回密码
 Sign Up 注册获取更多干货
码农求职神器Triplebyte:
不用海投,内推你去多家公司面试
Airbnb 数据科学职位
in analytics and inference
天天打游戏、照样领工资,
你要不要来?
把贵司招聘信息放这里
查看: 1602|回复: 3
收起左侧

[找工就业] snapchat 校招面经

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

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

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

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

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

本帖被以下淘专辑推荐:

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

使用道具 举报

xiaozhuxiaozhu 发表于 2016-10-22 15:19:55 | 显示全部楼层
第2题 就是group anagram吧?. From 1point 3acres bbs
key用 sorted后的anagram做key,
然后便利map的values, 用一个max variable keep track of the largest value就可以了吧。.1point3acres缃
abc, bca, cba, aab, baa. From 1point 3acres bbs
放进map后是:
. 1point 3acres 璁哄潧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) {. 1point3acres.com/bbs
  4.             return false;
  5.         }
  6.         if(s.length() == 0 && t.length() == 0) {
  7.             return true;. more info on 1point3acres.com
  8.         }. visit 1point3acres.com for more.
  9.         if(s.length() == 0) {
  10.             return false;
  11.         }
  12.         if(s.length() != t.length()) {
  13.             return false;
  14.         }. 1point3acres.com/bbs
  15.         HashMap<Character, Integer> map = new HashMap<Character, Integer>();
  16.         for(int i = 0; i < s.length(); i++) {. Waral 鍗氬鏈夋洿澶氭枃绔,
  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.             }.1point3acres缃
  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.             }. From 1point 3acres bbs
  29.             map.put(c, map.get(c) - 1);
  30.             if(map.get(c) < 0) {
  31.                 return false;. 1point 3acres 璁哄潧
  32.             }
  33.         }. visit 1point3acres.com for more.
  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;
  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);
  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;.鏈枃鍘熷垱鑷1point3acres璁哄潧
  18.         ArrayList<String> result = new ArrayList<String>();
  19.         for(ArrayList<String> subList: map.values()) {
  20.             if(subList.size() > count) {.鐣欏璁哄潧-涓浜-涓夊垎鍦
  21.                 result = subList;
  22.                 count = subList.size();
  23.             }
  24.         }
  25.         return result;
  26.     } 鏉ユ簮涓浜.涓夊垎鍦拌鍧.
  27. }
复制代码
回复 支持 反对

使用道具 举报

本版积分规则

关闭

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

手机版|小黑屋|一亩三分地论坛声明

custom counter

GMT+8, 2017-11-22 19:27

Powered by Discuz! X3

© 2001-2013 Comsenz Inc. Design By HUXTeam

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