传说中的谷歌招聘委员会成员之一,从幕后走出来,教你学系统设计!


一亩三分地论坛

 找回密码
 获取更多干活,快来注册
天天打游戏、照样领工资、还办H1B
这份工作你要不要?
把贵司招聘信息放这里
查看: 2413|回复: 8
收起左侧

Yelp 技术电面

[复制链接] |试试Instant~ |关注本帖
zth198814 发表于 2016-4-14 01:27:08 | 显示全部楼层 |阅读模式

2016(4-6月) 码农类 硕士 全职@Yelp - 网上海投 - 技术电面 |Fail在职跳槽

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

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

x
昨天的skype技术面试,今天就收到了据信。问了20分钟的work experience 和 project(我个人觉得没有答好的地方),然后是20分钟的coding。

# Write a function that takes two arguments, a list of words and an integer n,
# and returns the nth most common word in the list.
#
# e.g.
#    f(['cat', 'dog', 'cat'], 1) => 'cat' (the 1st most common word)
#    f(['cat', 'dog', 'cat'], 2) => 'dog' (the 2nd most common word)
#
奉献给大家

评分

1

查看全部评分

edcent 发表于 2016-4-14 01:52:58 | 显示全部楼层
我也碰到过类似的题. 楼主怎么做的?
回复 支持 反对

使用道具 举报

 楼主| zth198814 发表于 2016-4-14 01:58:33 | 显示全部楼层
edcent 发表于 2016-4-14 01:52
我也碰到过类似的题. 楼主怎么做的?

我用的是python dictionary 网上这种求occurence的问题还是很多的 你可以去搜搜看
回复 支持 反对

使用道具 举报

edcent 发表于 2016-4-14 02:02:09 | 显示全部楼层
zth198814 发表于 2016-4-14 01:58
. 涓浜-涓夊垎-鍦帮紝鐙鍙戝竷我用的是python dictionary 网上这种求occurence的问题还是很多的 你可以去搜搜看
.鏈枃鍘熷垱鑷1point3acres璁哄潧
果然还是python好用啊!我当时用java写的, 没有什么适合的数据结构..
回复 支持 反对

使用道具 举报

lzb700m 发表于 2016-4-14 11:49:19 | 显示全部楼层
假如有n个单词,返回第k常见的单词:
1. 扫一遍,统计每个单词的频率。
2. 建一个大小为k的minheap,key为频率。. 涓浜-涓夊垎-鍦帮紝鐙鍙戝竷
3. 把统计好的单词词频一次放到minheap里。
4. return minheap.extractMin()。. 鐗涗汉浜戦泦,涓浜╀笁鍒嗗湴
时间复杂度:O(n * logk),空间复杂度O(n)。
回复 支持 反对

使用道具 举报

edcent 发表于 2016-4-14 23:40:41 | 显示全部楼层
lzb700m 发表于 2016-4-14 11:49
假如有n个单词,返回第k常见的单词:.1point3acres缃
1. 扫一遍,统计每个单词的频率。
2. 建一个大小为k的minheap,key ...

这样 return 回来的是词频吧,不是单词
回复 支持 反对

使用道具 举报

lzb700m 发表于 2016-4-15 04:00:42 | 显示全部楼层
edcent 发表于 2016-4-14 23:40
这样 return 回来的是词频吧,不是单词

词频是key,单词是value。需要取什么都可以。
class wordFrequency implements comparable<wordFrequency>{
  String word; 鏉ユ簮涓浜.涓夊垎鍦拌鍧.
  Integer count;
  
  @Override. 1point 3acres 璁哄潧
  public int compareTo(wordFrequency other) {. 涓浜-涓夊垎-鍦帮紝鐙鍙戝竷
    return this.count.compareto(other.count);
  }
}
回复 支持 反对

使用道具 举报

 楼主| zth198814 发表于 2016-8-16 09:22:44 | 显示全部楼层
lzb700m 发表于 2016-4-14 11:49
假如有n个单词,返回第k常见的单词:
1. 扫一遍,统计每个单词的频率。. from: 1point3acres.com/bbs
2. 建一个大小为k的minheap,key ...

你说的是对的。这个题用java写起来比较方便。
回复 支持 反对

使用道具 举报

qiu_cqupt 发表于 2016-10-18 04:55:33 | 显示全部楼层
这个python调用counter 一行就搞定了。
```
import collections. 鐗涗汉浜戦泦,涓浜╀笁鍒嗗湴
class Solution(object):
    def kthcommon(self, words, k):
        """
        :type wrods: List[str]. 1point3acres.com/bbs
        :type k: int-google 1point3acres
        :rtype: str
        """
        return collections.Counter(words).most_common(2)[1][0]

words = ['cat', 'dog', 'cat'].鐣欏璁哄潧-涓浜-涓夊垎鍦
so = Solution()
a = so.kthcommon(words, 1)
print(a)-google 1point3acres
```

补充内容 (2016-10-18 04:57):
我傻逼了 要2换成k, 1换成k-1.
回复 支持 反对

使用道具 举报

本版积分规则

关闭

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

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

custom counter

GMT+8, 2017-9-24 07:49

Powered by Discuz! X3

© 2001-2013 Comsenz Inc. Design By HUXTeam

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