一亩三分地论坛

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

一亩三分地官方iOS手机应用下载
查看: 1058|回复: 2
收起左侧

G电面

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

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

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

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

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.
    e.g:  bag: {a:2, b:1}, k=2 -> {aa, ab}

. 鍥磋鎴戜滑@1point 3 acres
2. Ask me to design sth like "Big Integer" in JAVA.
    Finally, turn out to be "String Multiply" in leetcode.
bobzhang2004 发表于 2016-2-2 03:43:26 | 显示全部楼层
关注一亩三分地公众号:
Warald_一亩三分地
第一题应该就是permutation吧
回复 支持 反对

使用道具 举报

bobzhang2004 发表于 2016-2-2 05:24:47 | 显示全部楼层
关注一亩三分地微博:
Warald
写了下第一题,请问ab和ba相同的意思是amagram代表重复吗?. 鐗涗汉浜戦泦,涓浜╀笁鍒嗗湴
  1. public class PermutationIII {
  2. . 鐗涗汉浜戦泦,涓浜╀笁鍒嗗湴
  3.         public static List<String> getPermutation(HashMap<Character, Integer> map,
  4.                         int k) {
  5.                 Set<String> res = new HashSet<String>();
  6.                 if (map == null || map.size() == 0) {
  7.                         return new ArrayList<String>();. From 1point 3acres bbs
  8.                 }
  9.                 helper(res, map, new StringBuilder(), k);
  10.                 return new ArrayList<String>(res);
  11.         }
  12. .1point3acres缃
  13.         private static void helper(Set<String> res,. Waral 鍗氬鏈夋洿澶氭枃绔,
  14.                         HashMap<Character, Integer> map, StringBuilder sb, int k) {
  15.                 if (sb.length() == k) {
  16.                         res.add(sb.toString());.鐣欏璁哄潧-涓浜-涓夊垎鍦
  17.                         return;
  18.                 }
  19.                 HashMap<Character, Integer> tmp = new HashMap<Character, Integer>(map);
  20.                 for (char c : tmp.keySet()) {
  21.                         sb.append(c);
  22.                         map.put(c, map.get(c) - 1);
  23.                         if (map.get(c) == 0) {.鐣欏璁哄潧-涓浜-涓夊垎鍦
  24.                                 map.remove(c);
  25.                         }
  26.                         helper(res, map, sb, k);
  27.                         sb.deleteCharAt(sb.length() - 1);
  28.                         if (!map.containsKey(c)) {. 鍥磋鎴戜滑@1point 3 acres
  29.                                 map.put(c, 1);
  30.                         } else {
  31.                                 map.put(c, map.get(c) + 1);
  32.                         }
  33.                 } 鏉ユ簮涓浜.涓夊垎鍦拌鍧.
  34.         }
  35. 鏉ユ簮涓浜.涓夊垎鍦拌鍧.
  36.         public static void main(String[] args) {
  37.                 HashMap<Character, Integer> map = new HashMap<Character, Integer>();
  38.                 map.put('a', 2);
  39.                 map.put('b', 1);
  40.                 List<String> res = getPermutation(map, 2);
  41.                 for (String s : res) {
  42.                         System.out.println(s);. 鐗涗汉浜戦泦,涓浜╀笁鍒嗗湴
  43.                 }

  44.         }
  45. }
复制代码
回复 支持 反对

使用道具 举报

本版积分规则

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

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

关闭

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

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

custom counter

GMT+8, 2017-2-22 12:40

Powered by Discuz! X3

© 2001-2013 Comsenz Inc. Design By HUXTeam

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