一亩三分地论坛

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

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

发G家电面面经攒人品>.<

[复制链接] |试试Instant~ |关注本帖
lunaughty 发表于 2014-9-27 03:49:01 | 显示全部楼层 |阅读模式

2014(7-9月) 码农类 硕士 全职@Google - Other - 技术电面 |Other

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

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

x
4月份的时候做Google Codejam拿到了Round 2的50%,然后一个月前就突然接到HR的邮件,想不到做比赛还能拿电面……

Coding部分问的是给一个List<String> 要求转换成单个String并且能转回来。       做法是在String之间插入间隔字符比如`,如果List里的字符串里有`的话就再插入一个。解码的时候看到两个`就换成一个,单个`就是字符串的间隔符了。Interface给的List,不知道是ArrayList还是LinkedList,所以最好用iterator。
-google 1point3acres
然后被问最近在做啥Project,以及挑一个Google的产品提一个改进的建议。

边说话边Coding比起一个人自己玩实在难太多了,电话语音质量也不行,求攒人品求过>.<!

评分

1

查看全部评分

ototsuyume 发表于 2014-9-27 13:21:06 | 显示全部楼层
楼主的解法是错的,假如你编码后的字符串出现了3次 ‘,你不能知道分隔后剩下的 ' 是在前面还是在后面

正确的做法是要用两个字符做分隔符,典型的例子就是大部分编程语言里面用\t \n这些特殊字符表示换行和tab,然后\要用 \\ 来表示
回复 支持 1 反对 0

使用道具 举报

1guangnian 发表于 2014-9-27 06:30:49 | 显示全部楼层
lz, '不会是一个string的结尾嘛,这样的话,三个'或者更多奇数个',怎么知道哪里是间隔符?
回复 支持 反对

使用道具 举报

kelvinzhong 发表于 2014-9-27 14:03:58 | 显示全部楼层
ototsuyume 发表于 2014-9-27 13:21.鏈枃鍘熷垱鑷1point3acres璁哄潧
楼主的解法是错的,假如你编码后的字符串出现了3次 ‘,你不能知道分隔后剩下的 ' 是在前面还是在后面
鏉ユ簮涓浜.涓夊垎鍦拌鍧.
...

受教了。。。
回复 支持 反对

使用道具 举报

 楼主| lunaughty 发表于 2014-9-28 01:13:58 | 显示全部楼层
ototsuyume 发表于 2014-9-27 13:21.1point3acres缃
楼主的解法是错的,假如你编码后的字符串出现了3次 ‘,你不能知道分隔后剩下的 ' 是在前面还是在后面

...

受教……
回复 支持 反对

使用道具 举报

 楼主| lunaughty 发表于 2014-9-28 01:14:05 | 显示全部楼层
ototsuyume 发表于 2014-9-27 13:21
楼主的解法是错的,假如你编码后的字符串出现了3次 ‘,你不能知道分隔后剩下的 ' 是在前面还是在后面

...

受教……
回复 支持 反对

使用道具 举报

roovent 发表于 2014-10-16 11:43:47 | 显示全部楼层
ototsuyume 发表于 2014-9-27 13:21. 1point3acres.com/bbs
楼主的解法是错的,假如你编码后的字符串出现了3次 ‘,你不能知道分隔后剩下的 ' 是在前面还是在后面

...

一语道破天机,点个赞
回复 支持 反对

使用道具 举报

玉米地农民 发表于 2014-10-17 03:30:08 | 显示全部楼层
ototsuyume 发表于 2014-9-27 13:21. 1point 3acres 璁哄潧
楼主的解法是错的,假如你编码后的字符串出现了3次 ‘,你不能知道分隔后剩下的 ' 是在前面还是在后面

...
. From 1point 3acres bbs
豁然开朗!!多谢您的分享!
回复 支持 反对

使用道具 举报

whodewho 发表于 2014-10-19 16:39:39 | 显示全部楼层
ototsuyume 发表于 2014-9-27 13:21.1point3acres缃
楼主的解法是错的,假如你编码后的字符串出现了3次 ‘,你不能知道分隔后剩下的 ' 是在前面还是在后面

...
.鏈枃鍘熷垱鑷1point3acres璁哄潧
hi,你好,谢谢,请问下,这个["a\t\n", "\t\t\nb"]序列出来的结果是?
回复 支持 反对

使用道具 举报

eecsece 发表于 2014-10-20 00:16:14 | 显示全部楼层
如果定义分隔符是\t的话这个的结果应该是"a\\t\\n\t\\t\\t\\nb" 还是可以转义回来的
回复 支持 反对

使用道具 举报

xdrealmadrid 发表于 2014-10-31 06:34:14 | 显示全部楼层
我去 说的真好 点个赞
回复 支持 反对

使用道具 举报

averillzheng 发表于 2014-11-26 01:41:39 | 显示全部楼层
在java里,list interface里就有一个方法叫get(int index) 就是取出在index处的元素。. 鐗涗汉浜戦泦,涓浜╀笁鍒嗗湴
当然您说用iterator也是不错的选择。我以前都没有考虑到这些问题。受教了。
回复 支持 反对

使用道具 举报

averillzheng 发表于 2014-11-26 01:45:11 | 显示全部楼层
ototsuyume 发表于 2014-9-27 13:21
楼主的解法是错的,假如你编码后的字符串出现了3次 ‘,你不能知道分隔后剩下的 ' 是在前面还是在后面

...

可以将list的size和每个list的每个元素的length都append在return的string的前面可以吗?
如List<String> 是{"new", "york"},
就serialize的方法返回“2 3 4 newyork”
讨教。望指点
回复 支持 反对

使用道具 举报

tyr034 发表于 2015-3-16 23:07:26 | 显示全部楼层
averillzheng 发表于 2014-11-26 01:45
可以将list的size和每个list的每个元素的length都append在return的string的前面可以吗?
如List 是{"new ...

感觉可以.
回复 支持 反对

使用道具 举报

Reborn2beCoder 发表于 2015-3-18 08:57:23 | 显示全部楼层
averillzheng 发表于 2014-11-26 01:45
可以将list的size和每个list的每个元素的length都append在return的string的前面可以吗? 鏉ユ簮涓浜.涓夊垎鍦拌鍧.
如List 是{"new ...
. Waral 鍗氬鏈夋洿澶氭枃绔,
如果长度大于10咋办呀~~~
回复 支持 反对

使用道具 举报

williamshyy 发表于 2015-3-18 10:01:17 | 显示全部楼层
必须inplace吗?如果string 中偏偏有\\\tttt\\\n\n\n\t\t\t怎么办?我觉得另外开一个int[] 存各个string的起始字串挺好。再不济连int[] 规定好长度和分格符放在尾巴上或者头部也行啊。。。
回复 支持 反对

使用道具 举报

 楼主| lunaughty 发表于 2015-3-20 05:24:56 | 显示全部楼层
williamshyy 发表于 2015-3-18 10:01.鐣欏璁哄潧-涓浜-涓夊垎鍦
必须inplace吗?如果string 中偏偏有\\\tttt\\\n\n\n\t\t\t怎么办?我觉得另外开一个int[] 存各个string的 ...

必须是inplace的,转码后只允许输出一个字符串。把长度存到头部是可行的,不过多消耗点内存而已~
回复 支持 反对

使用道具 举报

averillzheng 发表于 2015-3-20 13:30:43 | 显示全部楼层
Reborn2beCoder 发表于 2015-3-18 08:57
如果长度大于10咋办呀~~~

数和数之间是用空格分开的。
这个题有好多种解法。
回复 支持 反对

使用道具 举报

本版积分规则

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

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

关闭

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

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

custom counter

GMT+8, 2016-12-9 04:33

Powered by Discuz! X3

© 2001-2013 Comsenz Inc. Design By HUXTeam

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