一亩三分地论坛

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

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

G电面

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

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

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

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

x
电面, 题都不难。记不太清细节。基本意思如下:.鏈枃鍘熷垱鑷1point3acres璁哄潧
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}. visit 1point3acres.com for more.


2. Ask me to design sth like "Big Integer" in JAVA.. more info on 1point3acres.com
    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.         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.         }

  11.         private static void helper(Set<String> res,
  12.                         HashMap<Character, Integer> map, StringBuilder sb, int k) {
  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) {-google 1point3acres
  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);. visit 1point3acres.com for more.
  28.                         } else {. 1point3acres.com/bbs
  29.                                 map.put(c, map.get(c) + 1);
  30.                         }
  31.                 } 鏉ユ簮涓浜.涓夊垎鍦拌鍧.
  32.         }.1point3acres缃

  33.         public static void main(String[] args) {
  34.                 HashMap<Character, Integer> map = new HashMap<Character, Integer>();
  35.                 map.put('a', 2);.1point3acres缃
  36.                 map.put('b', 1); 鏉ユ簮涓浜.涓夊垎鍦拌鍧.
  37.                 List<String> res = getPermutation(map, 2);
  38.                 for (String s : res) {
  39.                         System.out.println(s);
  40.                 }

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

使用道具 举报

本版积分规则

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

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

关闭

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

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

custom counter

GMT+8, 2017-3-26 02:44

Powered by Discuz! X3

© 2001-2013 Comsenz Inc. Design By HUXTeam

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