一亩三分地论坛

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

一亩三分地官方iOS手机应用下载
查看: 1199|回复: 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}. visit 1point3acres.com for more.
    follow up: in the above case: ab and ba are considered as duplicated.
    e.g:  bag: {a:2, b:1}, k=2 -> {aa, ab}


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.         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>();-google 1point3acres
  7.                 }
  8.                 helper(res, map, new StringBuilder(), k);
  9.                 return new ArrayList<String>(res);
  10.         }

  11.         private static void helper(Set<String> res,-google 1point3acres
  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);. Waral 鍗氬鏈夋洿澶氭枃绔,
  18.                 for (char c : tmp.keySet()) {
  19.                         sb.append(c);
  20.                         map.put(c, map.get(c) - 1);. more info on 1point3acres.com
  21.                         if (map.get(c) == 0) {
    . From 1point 3acres bbs
  22.                                 map.remove(c);
  23.                         }
  24.                         helper(res, map, sb, k);. 1point 3acres 璁哄潧
  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.                         }
  31.                 }
  32.         }

  33.         public static void main(String[] args) {.1point3acres缃
  34.                 HashMap<Character, Integer> map = new HashMap<Character, Integer>();
  35.                 map.put('a', 2);. 1point 3acres 璁哄潧
  36.                 map.put('b', 1);-google 1point3acres
  37.                 List<String> res = getPermutation(map, 2);
  38.                 for (String s : res) {
  39.                         System.out.println(s);
  40.                 }
  41. . Waral 鍗氬鏈夋洿澶氭枃绔,
  42.         }
  43. }
复制代码
回复 支持 反对

使用道具 举报

本版积分规则

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

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

关闭

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

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

custom counter

GMT+8, 2017-4-25 17:57

Powered by Discuz! X3

© 2001-2013 Comsenz Inc. Design By HUXTeam

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