一亩三分地论坛

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

扫码关注一亩三分地公众号
查看: 1004|回复: 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}
. 鐣欏鐢宠璁哄潧-涓浜╀笁鍒嗗湴
.1point3acres缃
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 | 显示全部楼层
第一题应该就是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) {. From 1point 3acres bbs
  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) {-google 1point3acres
  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);. more info on 1point3acres.com
  25.                         sb.deleteCharAt(sb.length() - 1);
  26.                         if (!map.containsKey(c)) {
  27.                                 map.put(c, 1);
    . 鍥磋鎴戜滑@1point 3 acres
  28.                         } else {
  29.                                 map.put(c, map.get(c) + 1);
  30.                         }
  31.                 }. Waral 鍗氬鏈夋洿澶氭枃绔,
  32.         }

  33.         public static void main(String[] args) {. 1point 3acres 璁哄潧
  34.                 HashMap<Character, Integer> map = new HashMap<Character, Integer>();. visit 1point3acres.com for more.
  35.                 map.put('a', 2);
  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, 2016-12-11 12:42

Powered by Discuz! X3

© 2001-2013 Comsenz Inc. Design By HUXTeam

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