回复: 18
跳转到指定楼层
上一主题 下一主题
收起左侧

Google 一道面经题

全局:

2016(1-3月) 码农类General 硕士 全职@google - 内推 - Onsite  | | Other | 其他

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

您需要 登录 才可以下载或查看附件。没有帐号?注册账号

x
看到面经中一道,推荐一个有最多个公共好友的好友 (BFS)。有大神可以说一下
您好!
本帖隐藏的内容需要积分高于 188 才可浏览
您当前积分为 0。
使用VIP即刻解锁阅读权限或查看其他获取积分的方式
游客,您好!
本帖隐藏的内容需要积分高于 188 才可浏览
您当前积分为 0。
VIP即刻解锁阅读权限 或 查看其他获取积分的方式
Unlock interview details and practice with AI
Popular Interview Questions from Top Companies
数,找出最多的。有没有更好的办法呢?

上一篇:VMware Airwatch OA跪经
下一篇:Amazon Intern 2/2面经

本帖被以下淘专辑推荐:

推荐
alen231x 2016-2-4 10:49:22 | 只看该作者
全局:
您好!
本帖隐藏的内容需要积分高于 100 才可浏览
您当前积分为 0。
使用VIP即刻解锁阅读权限或查看其他获取积分的方式
游客,您好!
本帖隐藏的内容需要积分高于 100 才可浏览
您当前积分为 0。
VIP即刻解锁阅读权限 或 查看其他获取积分的方式
Unlock interview details and practice with AI
Popular Interview Questions from Top Companies
回复

使用道具 举报

推荐
 楼主| bobzhang2004 2016-3-9 06:36:54 | 只看该作者
全局:
自己写了个java代码
  1. public class FriendsRecommendation {

  2.         class People {
  3.                 String name;
  4.                 HashSet<People> friends;
  5.         }

  6.         class Ele {
  7.                 int count;
  8.                 People people;

  9.                 public Ele(int c, People n) {
  10.                         count = c;
  11.                         people = n;
  12.                 }
  13.         }

  14.         public List<People> findPotentialFriends(People p) {
  15.                 List<People> res = new ArrayList<People>();
  16.                 HashMap<People, Integer> map = new HashMap<People, Integer>();
  17.                 for (People friend : p.friends) {
  18.                         for (People ele : friend.friends) {
  19.                                 if (p.friends.contains(ele)) {
  20.                                         continue;
  21.                                 }
  22.                                 if (!map.containsKey(ele)) {
  23.                                         map.put(ele, 1);
  24.                                 } else {
  25.                                         map.put(ele, map.get(ele) + 1);
  26.                                 }
  27.                         }
  28.                 }

  29.                 PriorityQueue<Ele> pq = new PriorityQueue<Ele>(new Comparator<Ele>() {
  30.                         public int compare(Ele e1, Ele e2) {
  31.                                 return e2.count - e1.count;
  32.                         }
  33.                 });
  34.                 while (!pq.isEmpty()) {
  35.                         res.add(pq.poll().people);
  36.                 }

  37.                 return res;
  38.         }
  39. }
复制代码
回复

使用道具 举报

🔗
testgre 2016-2-3 06:46:22 | 只看该作者
全局:
如果只是隔着一层的共同好友可能不需要hashset?可不可以对target做一层BFS,对得到的每个点也做一层BFS,用计数器记住每个点出现的次数最多的就是想要的结果?

补充内容 (2016-2-3 06:52):
不知道有没有分析错,空间复杂度是o(n)时间复杂度是o(n)?n是点的个数
回复

使用道具 举报

🔗
alen231x 2016-2-3 08:38:18 | 只看该作者
全局:
您好!
本帖隐藏的内容需要积分高于 100 才可浏览
您当前积分为 0。
使用VIP即刻解锁阅读权限或查看其他获取积分的方式
游客,您好!
本帖隐藏的内容需要积分高于 100 才可浏览
您当前积分为 0。
VIP即刻解锁阅读权限 或 查看其他获取积分的方式
Unlock interview details and practice with AI
Popular Interview Questions from Top Companies

评分

参与人数 1大米 +3 收起 理由
bobzhang2004 + 3 回答的很好!

查看全部评分

回复

使用道具 举报

全局:
alen231x 发表于 2016-2-3 08:38
假设你这个关系图是是pair对给的,存在vector pairs,  int target是目标点
第一步:
for(auto p : pairs) ...

没太看懂这个target是什么意思呢。。。
回复

使用道具 举报

🔗
alen231x 2016-2-3 13:23:04 | 只看该作者
全局:
javaprogrammer 发表于 2016-2-3 13:05
没太看懂这个target是什么意思呢。。。

target初始的要被推荐的那个人的ID

评分

参与人数 1大米 +3 收起 理由
bobzhang2004 + 3 回答的很好!

查看全部评分

回复

使用道具 举报

🔗
jill_8668 2016-2-3 13:42:36 | 只看该作者
全局:
alen231x 发表于 2016-2-3 08:38
假设你这个关系图是是pair对给的,存在vector pairs,  int target是目标点
第一步:
for(auto p : pairs) ...

第一步是 找出target的好友 标记为1
请问第二部是啥意思?
回复

使用道具 举报

🔗
alen231x 2016-2-3 14:23:22 | 只看该作者
全局:
您好!
本帖隐藏的内容需要积分高于 100 才可浏览
您当前积分为 0。
使用VIP即刻解锁阅读权限或查看其他获取积分的方式
游客,您好!
本帖隐藏的内容需要积分高于 100 才可浏览
您当前积分为 0。
VIP即刻解锁阅读权限 或 查看其他获取积分的方式
Unlock interview details and practice with AI
Popular Interview Questions from Top Companies
回复

使用道具 举报

🔗
alen231x 2016-2-3 14:27:46 | 只看该作者
全局:
C++里map那个count函数的意思就是判断那个key是否在map里出现过,没出现的话返回0
回复

使用道具 举报

🔗
alen231x 2016-2-3 14:28:06 | 只看该作者
全局:
希望我解释清楚了
回复

使用道具 举报

🔗
jill_8668 2016-2-4 04:25:38 | 只看该作者
全局:
您好!
本帖隐藏的内容需要积分高于 100 才可浏览
您当前积分为 0。
使用VIP即刻解锁阅读权限或查看其他获取积分的方式
游客,您好!
本帖隐藏的内容需要积分高于 100 才可浏览
您当前积分为 0。
VIP即刻解锁阅读权限 或 查看其他获取积分的方式
Unlock interview details and practice with AI
Popular Interview Questions from Top Companies
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册账号
隐私提醒:
  • ☑ 禁止发布广告,拉群,贴个人联系方式:找人请去🔗同学同事飞友,拉群请去🔗拉群结伴,广告请去🔗跳蚤市场,和 🔗租房广告|找室友
  • ☑ 论坛内容在发帖 30 分钟内可以编辑,过后则不能删帖。为防止被骚扰甚至人肉,不要公开留微信等联系方式,如有需求请以论坛私信方式发送。
  • ☑ 干货版块可免费使用 🔗超级匿名:面经(美国面经、中国面经、数科面经、PM面经),抖包袱(美国、中国)和录取汇报、定位选校版
  • ☑ 查阅全站 🔗各种匿名方法

本版积分规则

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