谈谈使用过的几款咖啡机

一亩三分地论坛

 找回密码
 Sign Up 注册获取更多干货
H1B/绿卡遥遥无期
又不想回国
来东南亚最大的互联网集团工作?
码农求职神器Triplebyte:
不用海投
内推多家公司面试
坐标湾区
Games Startup
招聘游戏开发工程师
游戏初创公司招聘工程师、UIUX Designer和游戏策划
查看: 1838|回复: 8
收起左侧

开个帖子google一道真题求讨论(附加代码)

[复制链接] |试试Instant~ |关注本帖
我的人缘0
qiuxuxing007 发表于 2015-10-30 12:39:16 | 显示全部楼层 |阅读模式
  此人我要顶:
 
0% (暂未有人投票) 【我投】
  此人我要踩:
 
0% (暂未有人投票) 【我投】

2015(10-12月) 码农类General 硕士 全职@Google - Other - Onsite  | Other | fresh grad应届毕业生

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

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

x
第三轮,白人大哥,在谷歌做了11年了。。。先问challenging project,然后出题:remove duplicate。比如[1,3,3]输出[1,3],[5,5,6,5,4] 输出 [5,6,4]。原帖在http://www.1point3acres.com/bbs/ ... p;page=1#pid2037194

我用java写的,不知道用entry 来做可不可这道题目我在面某小公司的时候出现过, 我觉得我这种做法是可以要保留原有array的顺序的,但是面试宫觉得倒到hashmap里面了,就变得乱序了,我觉得虽然hashmap是乱序的,但是对entry来说是有序的,根据加入hashmap的顺序来做的,不止大家觉得这种方法可以嘛?求各位大神讨论代码在下面,顺便求点积分

public int[] removeDup(int[] num){
           HashMap<Integer,Integer> map=new HashMap<Integer,Integer>();
           for(int i=0;i<num.length;i++){
                   if(map.containsKey(num)){
                           map.put(num,map.get(num)+1);
                   }
                   else{
                           map.put(num,1);
                   }
           }
          
           ArrayList<Integer> list=new ArrayList<Integer>();
           for(Entry<Integer, Integer> entry:map.entrySet()){
                   list.add(entry.getKey());
           }
          
           int[] res=new int[list.size()];
           for(int i=0;i<list.size();i++){
                   res=list.get(i);
           }//convert arraylist to array
           return res;
        }
}



上一篇:近期谷歌和F家面经,onsite+电面
下一篇:10/29 Google on-campus
我的人缘0
marthew777 发表于 2015-10-30 13:13:11 | 显示全部楼层
  此人我要顶:
 
0% (暂未有人投票) 【我投】
  此人我要踩:
 
0% (暂未有人投票) 【我投】
我不是大神。我的想法是这样的。
如果这题你想用space trade time, 都已经用了map了。倒不如用set,反正都是扫一遍,set还自动帮你去duplicates了是吧,. 留学申请论坛-一亩三分地
如果你想用time trade space, in place sort了吧这题转变为LC原题了,remove duplicates from sorted arrayI,

唉,反正作为男屌丝,从来没有面试官问我这中难度的题。。. Waral 博客有更多文章,

补充内容 (2015-10-30 13:32):. 1point3acres
LZ大人,我刚才没看到stable的要求。。刚看到[5,5,6,5,4] 输出 [5,6,4]的例子,
有这个要求就用set扫+去重。。不可以用hashmap, entry顺序不是stable的哦!如果你依然想用map,可以用LinkedHashMap =)
回复 支持 反对

使用道具 举报

我的人缘0
 楼主| qiuxuxing007 发表于 2015-11-8 02:53:42 | 显示全部楼层
  此人我要顶:
 
0% (暂未有人投票) 【我投】
  此人我要踩:
 
0% (暂未有人投票) 【我投】
对的,如果entry 要有序的话,只能用linkedhashmap ,多谢了
回复 支持 反对

使用道具 举报

我的人缘0
yucheyang2 发表于 2016-1-16 14:11:44 | 显示全部楼层
  此人我要顶:
 
0% (暂未有人投票) 【我投】
  此人我要踩:
 
0% (暂未有人投票) 【我投】
这样的,你用HashSet,维护一个DuplicateCount,每Duplicate一次后面数字++
回复 支持 反对

使用道具 举报

我的人缘0
yucheyang2 发表于 2016-1-16 14:18:50 | 显示全部楼层
  此人我要顶:
 
0% (暂未有人投票) 【我投】
  此人我要踩:
 
0% (暂未有人投票) 【我投】
        public static int removeDuplicate(int[] nums) {
                int len = 0;
                if (nums == null || (len = nums.length) <= 1) {
                        return len;. Waral 博客有更多文章,
                } 来源一亩.三分地论坛.

                int duplicateCount = 0;
                Set<Integer> set = new HashSet<>(len);
                for (int i = 0; i < len; i++) {
                        if (set.add(nums[i])) {
                                nums[i - duplicateCount] = nums[i];
                        } else {
                                duplicateCount++;
                        }. 留学申请论坛-一亩三分地
                }

                return len - duplicateCount;
        }
. 留学申请论坛-一亩三分地
        public static void main(String[] args) {. from: 1point3acres
                // TODO Auto-generated method stub
                // int[] nums = new int[] { 1, 3, 3 };
                int[] nums = new int[] { 5, 5, 6, 6, 5, 4 };
                int len = removeDuplicate(nums);
                for (int i = 0; i < len; i++) {
                        System.out.print(nums[i]);
                }
                System.out.println();
        }
回复 支持 反对

使用道具 举报

我的人缘0
yucheyang2 发表于 2016-1-16 14:20:43 | 显示全部楼层
  此人我要顶:
 
0% (暂未有人投票) 【我投】
  此人我要踩:
 
0% (暂未有人投票) 【我投】
有道题目,貌似是BB的面经,就是一个数组怎么Inplace Remove Zero,就是用类似方法的。
回复 支持 反对

使用道具 举报

我的人缘0
yucheyang2 发表于 2016-1-16 14:21:37 | 显示全部楼层
  此人我要顶:
 
0% (暂未有人投票) 【我投】
  此人我要踩:
 
0% (暂未有人投票) 【我投】
你如果想用HashMap,你用LinkedHashMap,这个是LinkedList + HashMap,保留插入的顺序的。
回复 支持 反对

使用道具 举报

我的人缘0
 楼主| qiuxuxing007 发表于 2016-1-16 14:34:57 | 显示全部楼层
  此人我要顶:
 
0% (暂未有人投票) 【我投】
  此人我要踩:
 
0% (暂未有人投票) 【我投】
多谢了, 我懂了
Mobile Apps Category (English)728x90
回复 支持 反对

使用道具 举报

我的人缘0
bobzhang2004 发表于 2016-1-21 12:32:42 | 显示全部楼层
  此人我要顶:
 
0% (暂未有人投票) 【我投】
  此人我要踩:
 
0% (暂未有人投票) 【我投】
写了下代码
  1. public class RemoveDuplicateII {
  2.         public static int[] removeDuplicate(int[] nums) {
  3.                 if (nums == null || nums.length <= 1) {. 牛人云集,一亩三分地
  4.                         return nums;. more info on 1point3acres
  5.                 }-google 1point3acres

  6.                 Set<Integer> set = new HashSet<>();
  7.                 int index = 0;
  8.                 for (int i = 0; i < nums.length; i++) {
  9.                         if (!set.contains(nums[i])) {
  10.                                 nums[index++] = nums[i];
  11.                                 set.add(nums[i]);
  12.                         }. more info on 1point3acres
  13.                 }
  14.                 return Arrays.copyOfRange(nums, 0, index);
  15.         }

  16.         public static void main(String[] args) {
  17.                 // TODO Auto-generated method stub
  18.                 // int[] nums = new int[] { 1, 3, 3 };
  19.                 int[] nums = new int[] { 5, 5, 6, 6, 5, 4 };.本文原创自1point3acres论坛
  20.                 int[] res = removeDuplicate(nums);
  21.                 for (int i = 0; i < res.length; i++) {. 围观我们@1point 3 acres
  22.                         System.out.print(res[i] + " ");. visit 1point3acres for more.
  23.                 }. 一亩-三分-地,独家发布
  24.                 System.out.println();
  25.         }
  26. }
复制代码
回复 支持 反对

使用道具 举报

游客
请先登录

本版积分规则

提醒:发帖可以选择内容隐藏,部分板块支持匿名发帖。请认真读完以下全部说明:

■隐藏内容方法: [hide=200]你想要隐藏的内容比如面经[/hide]
■意思是:用户积分低于200则看不到被隐藏的内容
■可以自行设置积分值,不建议太高(200以上太多人看不到),也不建议太低(那就没必要隐藏了)
■建议只隐藏关键内容,比如具体的面试题目、涉及隐私的信息,大部分内容没必要隐藏。
■微信/QQ/电子邮件等,为防止将来被骚扰甚至人肉,以论坛私信方式发给对方最安全。
■匿名发帖的板块和方法:http://www.1point3acres.com/bbs/thread-405991-1-1.html

关闭

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

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

custom counter

GMT+8, 2018-6-23 10:47

Powered by Discuz! X3

© 2001-2013 Comsenz Inc. Design By HUXTeam

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