由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
JobHunting版 - 亚马逊的在线测试的一道题
相关主题
amazon online assessment曼哈顿距离iterator随便写了一个 请大家帮挑毛病,謝謝
least common ancestor的疑惑将军们, 再来做道题 (转载)
问道G题(3)一个较难的pythpn输出函数运行信息的project.
请教为什么这段程序运行不work?(doubly linked list) (转载[合集] M$ interview question
对角线Sum 螺旋(线)[合集] 【讨论】两道非常难的Google面试题
贴一个电梯设计伪码吧。算法题目一问
写的LRU通不过大数据,帮忙看看有没有opt申请了2月还init. review的?
发个g的电面请教一道题
相关话题的讨论汇总
话题: user话题: pid话题: def话题: product
进入JobHunting版参与讨论
1 (共1页)
g******y
发帖数: 143
1
1. 设计一个产品推荐系统。
某个客户,他有买了一些商品,他有一些朋友。那么推荐给这个客户的商品就是他朋友
买的东西且他自己没买过的。
另外,这些商品应该按重要性来排序。重要性是这样定义的:如果某件商品,他朋友中
买的人数最多的就该排在最前面,依次递减。
有以下两个函数可以使用:
productList *getProducts(user)
friendList *getFriends(user)
请实现:
productList *getRecommendation(user)
2.写测试程序
3.写测试用例
4.分析时间空间复杂度
A*****o
发帖数: 284
2
献丑用python实现了一个
class User:
def __init__(self, uid):
self.uid = uid

class Product:
def __init__(self, pid):
self.pid = pid
# given API
# def getProducts(user)
# def getFriends(user)
def cmpFriendBought(a, b): # descending order
return -cmp(a[1][1], b[1][1])
def getRecommendation(user):
counter = {} # product_id => [product, bought_count_by_friends]
myList = getProducts(user)
myBought = set([])
for p in myList:
myBought.add(p.pid)
friends = getFriends(user)
for friend in friends:
plist = getProducts(friend)
for p in plist:
pid = p.pid
if not pid in myBought:
if not pid in counter:
counter[pid] = [p, 1]
else:
counter[pid][1] += 1
items = counter.items()
items.sort(cmp = cmpFriendBought) # descending sorted by bought count
recommend = []
for item in items:
recommend.append(item[1][0])
return recommend
q****m
发帖数: 177
3
K-way merge according to product key
need to assume getProducts(user) returns a sorted list.

【在 g******y 的大作中提到】
: 1. 设计一个产品推荐系统。
: 某个客户,他有买了一些商品,他有一些朋友。那么推荐给这个客户的商品就是他朋友
: 买的东西且他自己没买过的。
: 另外,这些商品应该按重要性来排序。重要性是这样定义的:如果某件商品,他朋友中
: 买的人数最多的就该排在最前面,依次递减。
: 有以下两个函数可以使用:
: productList *getProducts(user)
: friendList *getFriends(user)
: 请实现:
: productList *getRecommendation(user)

A*****o
发帖数: 284
4
请问merge具体怎么做呀?

【在 q****m 的大作中提到】
: K-way merge according to product key
: need to assume getProducts(user) returns a sorted list.

i********5
发帖数: 52
5
多谢楼主分享,可以说说其他两道是啥吗?
s******7
发帖数: 1758
6
就是把他朋友的product list全部读出来,如果属于自己买过得不要(自己买过的
product建个hashset),写到一个Map,再按count排序就可以了,如
果一共有n product, nlogn 吧
g******y
发帖数: 143
7
就这一道

【在 i********5 的大作中提到】
: 多谢楼主分享,可以说说其他两道是啥吗?
x******9
发帖数: 473
8
跟我之前做的一模一样,要test case

1. 设计一个产品推荐系统。某个客户,他有买了一些商品,他有一些朋友。那么推荐
给这个客户的商品就是他朋友买的东西且他自己没买过的。另外,这些商品应该按重要
性来排序。重要性是这样........

【在 g******y 的大作中提到】
: 1. 设计一个产品推荐系统。
: 某个客户,他有买了一些商品,他有一些朋友。那么推荐给这个客户的商品就是他朋友
: 买的东西且他自己没买过的。
: 另外,这些商品应该按重要性来排序。重要性是这样定义的:如果某件商品,他朋友中
: 买的人数最多的就该排在最前面,依次递减。
: 有以下两个函数可以使用:
: productList *getProducts(user)
: friendList *getFriends(user)
: 请实现:
: productList *getRecommendation(user)

k**8
发帖数: 186
9
多长时间?
s******3
发帖数: 344
10


【在 g******y 的大作中提到】
: 1. 设计一个产品推荐系统。
: 某个客户,他有买了一些商品,他有一些朋友。那么推荐给这个客户的商品就是他朋友
: 买的东西且他自己没买过的。
: 另外,这些商品应该按重要性来排序。重要性是这样定义的:如果某件商品,他朋友中
: 买的人数最多的就该排在最前面,依次递减。
: 有以下两个函数可以使用:
: productList *getProducts(user)
: friendList *getFriends(user)
: 请实现:
: productList *getRecommendation(user)

i******l
发帖数: 235
11
请问楼主是new grad吗?

【在 g******y 的大作中提到】
: 就这一道
g******y
发帖数: 143
12
It's a senior position.

【在 i******l 的大作中提到】
: 请问楼主是new grad吗?
1 (共1页)
进入JobHunting版参与讨论
相关主题
请教一道题对角线Sum 螺旋(线)
C++ 程序求助贴一个电梯设计伪码吧。
OPT approved(VSC)写的LRU通不过大数据,帮忙看看
请教OPT 问题发个g的电面
amazon online assessment曼哈顿距离iterator随便写了一个 请大家帮挑毛病,謝謝
least common ancestor的疑惑将军们, 再来做道题 (转载)
问道G题(3)一个较难的pythpn输出函数运行信息的project.
请教为什么这段程序运行不work?(doubly linked list) (转载[合集] M$ interview question
相关话题的讨论汇总
话题: user话题: pid话题: def话题: product