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


一亩三分地论坛

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

G电面

[复制链接] |试试Instant~ |关注本帖
bikini1988 发表于 2015-12-22 14:34:19 | 显示全部楼层 |阅读模式

2015(10-12月) 码农类 硕士 全职@Google - Other - 技术电面 |Other在职跳槽

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

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

x
电面, 题都不难。记不太清细节。基本意思如下:
1. Given a big of characters, generate all kinds of permutation with length==k.
    e.g: bag: {a:2, b:1}, k=2 -> {aa, ab, ba}
. 涓浜-涓夊垎-鍦帮紝鐙鍙戝竷    follow up: in the above case: ab and ba are considered as duplicated. . 1point3acres.com/bbs
    e.g:  bag: {a:2, b:1}, k=2 -> {aa, ab}


2. Ask me to design sth like "Big Integer" in JAVA.. 1point3acres.com/bbs
    Finally, turn out to be "String Multiply" in leetcode.
bobzhang2004 发表于 2016-2-2 03:43:26 | 显示全部楼层
第一题应该就是permutation吧
回复 支持 反对

使用道具 举报

bobzhang2004 发表于 2016-2-2 05:24:47 | 显示全部楼层
写了下第一题,请问ab和ba相同的意思是amagram代表重复吗?
  1. public class PermutationIII {

  2.         public static List<String> getPermutation(HashMap<Character, Integer> map,
  3.                         int k) {
  4.                 Set<String> res = new HashSet<String>();
  5.                 if (map == null || map.size() == 0) {
  6.                         return new ArrayList<String>();
  7.                 }.鐣欏璁哄潧-涓浜-涓夊垎鍦
  8.                 helper(res, map, new StringBuilder(), k);. 鐣欏鐢宠璁哄潧-涓浜╀笁鍒嗗湴
  9.                 return new ArrayList<String>(res);
  10.         }. from: 1point3acres.com/bbs

  11.         private static void helper(Set<String> res,
  12.                         HashMap<Character, Integer> map, StringBuilder sb, int k) {. 鍥磋鎴戜滑@1point 3 acres
  13.                 if (sb.length() == k) {
  14.                         res.add(sb.toString());
  15.                         return;
  16.                 }
  17.                 HashMap<Character, Integer> tmp = new HashMap<Character, Integer>(map);
  18.                 for (char c : tmp.keySet()) {. 涓浜-涓夊垎-鍦帮紝鐙鍙戝竷
  19.                         sb.append(c);
  20.                         map.put(c, map.get(c) - 1);
  21.                         if (map.get(c) == 0) {
  22.                                 map.remove(c);
  23.                         }
  24.                         helper(res, map, sb, k);
  25.                         sb.deleteCharAt(sb.length() - 1);
  26.                         if (!map.containsKey(c)) {
  27.                                 map.put(c, 1);
  28.                         } else {
  29.                                 map.put(c, map.get(c) + 1);
  30.                         }.鏈枃鍘熷垱鑷1point3acres璁哄潧
  31.                 }
  32.         }-google 1point3acres
  33. .鐣欏璁哄潧-涓浜-涓夊垎鍦
  34.         public static void main(String[] args) {.鐣欏璁哄潧-涓浜-涓夊垎鍦
  35.                 HashMap<Character, Integer> map = new HashMap<Character, Integer>();
  36.                 map.put('a', 2);
  37.                 map.put('b', 1);
  38.                 List<String> res = getPermutation(map, 2);. Waral 鍗氬鏈夋洿澶氭枃绔,
  39.                 for (String s : res) {. 1point3acres.com/bbs
  40.                         System.out.println(s);.鐣欏璁哄潧-涓浜-涓夊垎鍦
  41.                 }

  42.         }
  43. }
复制代码
回复 支持 反对

使用道具 举报

本版积分规则

关闭

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

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

custom counter

GMT+8, 2017-11-25 04:56

Powered by Discuz! X3

© 2001-2013 Comsenz Inc. Design By HUXTeam

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