一亩三分地论坛

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

扫码关注一亩三分地公众号
查看: 2644|回复: 18
收起左侧

Google intern 面经

[复制链接] |试试Instant~ |关注本帖
rockmanzero2 发表于 2015-7-22 05:58:56 | 显示全部楼层 |阅读模式

2015(7-9月) 码农类 硕士 实习@Google - 内推 - 技术电面 |Pass其他

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

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

x
通过朋友联系拿到了电面,第一轮是一个白人小哥第二轮听声音应该是个国人。。。简单交流自己最近做过的项目后就开始做题。
两轮题目都很简单
第一轮是顺时针旋转一个正方形矩阵
2d matrix as image

visit every pixel of an image in a clockwise spiral pattern without visiting the same pixel twice.

.鏈枃鍘熷垱鑷1point3acres璁哄潧
第二题说起来有点复杂,但是也就是用hash/贪心就能搞定的

Give a list of numbers:
3, 5, 9, 2
Generate a signature for the list of numbers:
i, i, d

Example:
6, 8, 3, 5, 2. 鍥磋鎴戜滑@1point 3 acres
i,d,i,d. 鐣欏鐢宠璁哄潧-涓浜╀笁鍒嗗湴
. Waral 鍗氬鏈夋洿澶氭枃绔,
Question is:
Given a signature for a list of number, trying to print out a list of number that fits the signature, with lowest value of the highest number, and at the same time, no duplicated numbers.
Numbers[1, N]


评分

2

查看全部评分

本帖被以下淘专辑推荐:

neethan 发表于 2015-8-4 06:24:15 | 显示全部楼层
f1371342385 发表于 2015-7-22 14:12
LZ,第二题的signature是啥意思啊,没太搞明白啊

“i” 应该是increase “d” 应该是decrease 的意思,signature应该是表明list属性吧
回复 支持 1 反对 0

使用道具 举报

lxia 发表于 2015-8-4 18:56:17 | 显示全部楼层

You are given an array of n elements [1,2,....n]. For example {3,2,1,6,7,4,5}.
Now we create a signature of this array by comparing every consecutive pir of elements. If they increase, write I else write D. For example for the above array, the signature would be "DDIIDI". The signature thus has a length of N-1. Now the question is given a signature, compute the lexicographically smallest permutation of [1,2,....n]. Write the below function in language of your choice.

vector* FindPermute(const string& signature);


和这题 http://www.careercup.com/question?id=14912744 类似?

回复 支持 1 反对 0

使用道具 举报

tbu 发表于 2015-7-22 06:42:34 | 显示全部楼层
這是秋季實習?
回复 支持 反对

使用道具 举报

 楼主| rockmanzero2 发表于 2015-7-22 07:08:27 | 显示全部楼层
是的,秋季冬天的co-op
回复 支持 反对

使用道具 举报

f1371342385 发表于 2015-7-22 14:12:44 | 显示全部楼层
LZ,第二题的signature是啥意思啊,没太搞明白啊
回复 支持 反对

使用道具 举报

stellari 发表于 2015-7-22 15:23:04 | 显示全部楼层
我猜测这个“signature”的意思是:如果signature[i]=='i',那么说明list[i+1] 和 list[i]的差是偶数;如果是'd',则说明二者的差是奇数?然后给定一个signature,要求产生一个满足这个signature的无重复序列,且“lowest value of the highest number"(意思是序列中的最大数字要尽可能地小)?
回复 支持 反对

使用道具 举报

habina 发表于 2015-7-23 09:33:00 | 显示全部楼层
秋季冬天的coop一般是实习多久?
回复 支持 反对

使用道具 举报

neethan 发表于 2015-8-4 06:23:27 | 显示全部楼层
多谢楼主分享!现在结果怎么样?我也是拿到了秋天的interview,明天面,希望也能顺利
回复 支持 反对

使用道具 举报

虾米酱 发表于 2015-8-4 09:37:20 | 显示全部楼层
楼主你何时毕业丫,我面过夏季的,我的recruiter说木有秋季的实习吖~~~你是在哪里投得丫
回复 支持 反对

使用道具 举报

flyaway25 发表于 2015-8-4 10:00:16 | 显示全部楼层
stellari 发表于 2015-7-22 15:23
我猜测这个“signature”的意思是:如果signature=='i',那么说明list 和 list的差是偶数;如果是'd',则说 ...

就是两个数,后一个数是前一个的increase还是decrease吧
回复 支持 反对

使用道具 举报

Neil_Acton 发表于 2015-11-25 03:49:56 | 显示全部楼层
这面经发的也是醉了 一堆人才半天猜出来是什么个意思  。。。
回复 支持 反对

使用道具 举报

achilleszou 发表于 2016-11-5 07:40:53 | 显示全部楼层
第二题我的代码:
  1. void findWiggle(String path) {
  2.         ListNode fakeHead = new ListNode(0);
  3.         //start from 1
  4.         fakeHead.next = new ListNode(1);
  5.         ListNode iInsert = fakeHead.next;
  6.         ListNode dInsert = fakeHead;
  7.         for (int i = 0; i < path.length(); i++) {-google 1point3acres
  8.                 if (path.charAt(i) == 'i') {
  9.                         iInsert.next = new ListNode(i+2);
  10.                         iInsert = iInsert.next;. 1point3acres.com/bbs
  11.                         dInsert = dInsert.next;
  12.                 } else {
  13.                         dInsert.next = new ListNode(i+2);
  14.                 }
  15.         }
  16.         print(fakeHead.next);
  17. }
复制代码
回复 支持 反对

使用道具 举报

qeroqero 发表于 2016-11-6 00:40:53 | 显示全部楼层
achilleszou 发表于 2016-11-5 07:40
第二题我的代码:

这对吗?dddddddd怎么处理
回复 支持 反对

使用道具 举报

achilleszou 发表于 2016-11-6 03:03:37 | 显示全部楼层
qeroqero 发表于 2016-11-6 00:40. 鐣欏鐢宠璁哄潧-涓浜╀笁鍒嗗湴
这对吗?dddddddd怎么处理

code 少些了一行,用ide 写了一下:

  1. class ListNode {
  2.     int val;
  3.     ListNode next;
  4.     ListNode(int val ) {
  5.         this.val = val;. from: 1point3acres.com/bbs
  6.     }
  7. }
  8. public class Solution {
  9.     public void print(ListNode node) {
  10.         while(node != null) {
  11.             System.out.print(node.val + ",");. 鐗涗汉浜戦泦,涓浜╀笁鍒嗗湴
  12.             node = node.next;
  13.         }
  14.         System.out.println();
  15.     }
  16.     public void findWiggle(String path) {
  17.         ListNode fakeHead = new ListNode(0);
  18.         //start from 1
  19.         fakeHead.next = new ListNode(1);
  20.         ListNode iInsert = fakeHead.next;
  21.         ListNode dInsert = fakeHead;
  22.         for (int i = 0; i < path.length(); i++) {
  23.             if (path.charAt(i) == 'i') {
  24.                 iInsert.next = new ListNode(i+2);
  25.                 iInsert = iInsert.next;. 鍥磋鎴戜滑@1point 3 acres
  26.                 dInsert = dInsert.next;
  27.             } else {
  28.                 ListNode tmp =  dInsert.next;
  29.                 dInsert.next = new ListNode(i+2);
  30.                 dInsert.next.next = tmp;
  31.             }
  32.         }. from: 1point3acres.com/bbs
  33.         print(fakeHead.next);
  34.     }
  35. }
复制代码
跑出来是 8,7,6,5,4,3,2,1,
回复 支持 反对

使用道具 举报

MicX 发表于 2016-11-6 21:38:49 | 显示全部楼层
achilleszou 发表于 2016-11-6 03:03
code 少些了一行,用ide 写了一下:跑出来是 8,7,6,5,4,3,2,1,

没太懂。可以稍微解释一下吗?这是贪心?
回复 支持 反对

使用道具 举报

achilleszou 发表于 2016-11-8 01:28:17 | 显示全部楼层
MicX 发表于 2016-11-6 21:38.鏈枃鍘熷垱鑷1point3acres璁哄潧
没太懂。可以稍微解释一下吗?这是贪心?

1,...n 可以满足任何 长度为n-1 的 类似于 ddididid 这样的wiggle sequence,问题是如何构造。

我用的的是链表,如果当前的字符是i,就把数字放到最后,如果是d,就把当前数字放到最近的i的位置
. 鍥磋鎴戜滑@1point 3 acres
时间O(n) 空间O(1) (如果结果可以用链表表示的话),应该是最优解吧
回复 支持 反对

使用道具 举报

thunderink 发表于 2016-11-8 01:50:34 | 显示全部楼层
signature是什么完全没看懂...
回复 支持 反对

使用道具 举报

JoshISEE 发表于 昨天 09:32 | 显示全部楼层
achilleszou 发表于 2016-11-8 01:28
1,...n 可以满足任何 长度为n-1 的 类似于 ddididid 这样的wiggle sequence,问题是如何构造。

我用的 ...
. 鍥磋鎴戜滑@1point 3 acres
你的解答没太看懂,能不能讲具体点?谢谢
回复 支持 反对

使用道具 举报

本版积分规则

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

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

关闭

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

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

custom counter

GMT+8, 2016-12-11 16:45

Powered by Discuz! X3

© 2001-2013 Comsenz Inc. Design By HUXTeam

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