由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
JobHunting版 - 上午偷闲把TopKFrequentWords写出来了
相关主题
发个evernote的code challenge为什么面试题目都答出来了还是跪了?
facebook一题菜鸟向大家请教个面试题
Amazon常见设计题——设计电话簿求解问一个面试经常问的ood,维护前k名的list的问题
twittier的onsite挂了,来问个常见题码工小菜鸟谈onsite
问道indeed面试算法题一道design题
careercup书上那个maintain median value的题G/F面经
请教关于build heap BIG-O的问题新鲜电面
过去n小时的top searchshare int2roman and roman2int java version
相关话题的讨论汇总
话题: string话题: integer话题: br
进入JobHunting版参与讨论
1 (共1页)
H**********5
发帖数: 2012
1
满足了O(n),用的trie+minHeap。
看了下行数180行。
着他妈要是事前没准备没背题的话,onsite让你实现个O(n),有多少人能写出来?不是
讲大致思路啊,是一行一行全部实现,建tri,建insert函数,tri节点插入minHeap函数。
结论:以后的刷题有可能进化成背题背最优解了,就看谁能花时间花精力准备
D**********0
发帖数: 1022
2
没有这么麻烦吧。用哈希表查不也一样?
z*******o
发帖数: 4773
3
这题你用tie把面试官惊艳了
啪一拍椅子, "I want you!"
H**********5
发帖数: 2012
4
问题是不用trie如何达到O(n)?


: 这题你用tie把面试官惊艳了

: 啪一拍椅子, "I want you!"



【在 z*******o 的大作中提到】
: 这题你用tie把面试官惊艳了
: 啪一拍椅子, "I want you!"

z*******o
发帖数: 4773
5
你把log(k)吞了?

【在 H**********5 的大作中提到】
: 问题是不用trie如何达到O(n)?
:
:
: 这题你用tie把面试官惊艳了
:
: 啪一拍椅子, "I want you!"
:

H**********5
发帖数: 2012
6
trie minheap加一起,可以达到O(n)吧,不是O(n)*lgk。上午偷闲写的代码,自己生成
的大文件在eclipse里跑了下ok,不想贴代码。


: 你把log(k)吞了?



【在 z*******o 的大作中提到】
: 你把log(k)吞了?
D**********0
发帖数: 1022
7
我写的:
class Solution {
public List topKFrequentWords(String[] words, int k) {
Map map = new HashMap<>();
for (String word : words) {
map.put(word, map.getOrDefault(word, 0) + 1);
}

PriorityQueue> pq = new PriorityQueue<>(
(n1, n2) -> n2.getValue() - n1.getValue());
for (Map.Entry entry : map.entrySet()) {
pq.offer(entry);
}

List res = new ArrayList<>();
for (int i = 0; i < k; i++) {
res.add(pq.poll().getKey());
}
return res;
}
}
H**********5
发帖数: 2012
8
这个是O(n)*lgk,面试官假如要O(n)?


: class Solution {

: public List topKFrequentWords(String[] words, int k) {

: Map map = new HashMap();

: for (String word : words) {

: map.put(word, map.getOrDefault(word, 0) 1);

: }

:

: PriorityQueue pq = new PriorityQueue(

: (n1, n2) -

【在 D**********0 的大作中提到】
: 我写的:
: class Solution {
: public List topKFrequentWords(String[] words, int k) {
: Map map = new HashMap<>();
: for (String word : words) {
: map.put(word, map.getOrDefault(word, 0) + 1);
: }
:
: PriorityQueue> pq = new PriorityQueue<>(
: (n1, n2) -> n2.getValue() - n1.getValue());

D**********0
发帖数: 1022
9
那就桶排序吧。
不然每个单词入树的时候复杂度是多少?

【在 H**********5 的大作中提到】
: 这个是O(n)*lgk,面试官假如要O(n)?
:
:
: class Solution {
:
: public List topKFrequentWords(String[] words, int k) {
:
: Map map = new HashMap();
:
: for (String word : words) {
:
: map.put(word, map.getOrDefault(word, 0) 1);
:
: }
:
:
:
: PriorityQueue pq = new PriorityQueue(

H**********5
发帖数: 2012
10
桶排序也到不了O(n)。
翻了下geeks for geeks,有个烙印用C加加实现的。每次把点同时插到trie和minHeap
,我用java重新写了一遍。


: 那就桶排序吧。

: 不然每个单词入树的时候复杂度是多少?



【在 D**********0 的大作中提到】
: 那就桶排序吧。
: 不然每个单词入树的时候复杂度是多少?

k**********i
发帖数: 36
11
什么鬼.
O(n)的算法是 hash + Quick Selection
u********s
发帖数: 1047
12
桶排序为什么到不了 O(n)?
e***u
发帖数: 384
13
才发现这个是正解。

【在 k**********i 的大作中提到】
: 什么鬼.
: O(n)的算法是 hash + Quick Selection

1 (共1页)
进入JobHunting版参与讨论
相关主题
share int2roman and roman2int java version问道indeed面试算法题
4sum o(n^2)超时careercup书上那个maintain median value的题
关于java synchronized statement和static method or variable请教关于build heap BIG-O的问题
问一下OJ的Anagrams那道题过去n小时的top search
发个evernote的code challenge为什么面试题目都答出来了还是跪了?
facebook一题菜鸟向大家请教个面试题
Amazon常见设计题——设计电话簿求解问一个面试经常问的ood,维护前k名的list的问题
twittier的onsite挂了,来问个常见题码工小菜鸟谈onsite
相关话题的讨论汇总
话题: string话题: integer话题: br