📣 独立日限时特惠: VIP通行证立减$68
回复: 3
跳转到指定楼层
上一主题 下一主题
收起左侧

微软一面面筋

全局:

2019(7-9月) 码农类General 本科 全职@苏州微软 - 网上海投 - 技术电面 Onsite  | WaitList | 其他

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

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

x
刚刚才一面了微软面试。题目是假如有100个人,给你一个距离k,求有多少个三个人为一组的两两相互距离都小于k的组合。我有些懵逼,但是先来还是用brute force O(n3)做了,然后想半天没有想到更快的可行办法,然后想用相对于原点的相对距离进行排序,类似3sums的变形版解法,但是做了才知道没这么简单。然后面试官人还是很好,给我降低了难度,让我求在一条线上经过最多点有多少个。这个用slope做,然后x1-x2=0 或重合的时候,做了特殊处理,然后用dictionary记录每个slope的次数。
求助大神解第一道题!面试官说可以做到O(n^2)。
. 1point 3acres

补充内容 (2019-6-25 20:06):
另外求点米,煮点米汤喝

补充内容 (2019-6-26 14:57):
是二维的

评分

参与人数 4大米 +18 收起 理由
匿名用户-QTHTG + 15
Acker + 1 给你点个赞!
jane19930412 + 1 很有用的信息!
iVanlIsh + 1 赞一个

查看全部评分


上一篇:WISH一面面试题目
下一篇:字节跳动后端开发实习面经
推荐
shinn_qy 2019-10-12 17:58:47 | 只看该作者
全局:
这题是并查集,两重遍历所有的组合,然后把距离小于k的两个人union,剩下的count就是数量
回复

使用道具 举报

🔗
crystal0309 2019-6-26 06:51:38 | 只看该作者
全局:
楼主,这个题是二维的吗?
回复

使用道具 举报

🔗
RaccoonPanda 2019-10-11 07:39:30 | 只看该作者
全局:
个人感觉是这么做的:
首先用两层循环找到两两人的距离,然后设计一个图(二维数组表示),距离小于k的记为有路,距离大于k的无路。
之后既然是三人组两两小于k,那就是三人之间两两有路,即a-b,b-c,a-c
之后对图进行深度为2的bfs,比如,a搜到连着b,b搜到连着c,这时候检查a是否连着c,如果是,输出abc,如果不是,放弃c

如果面试官问优化的话,因为这是无向图,所以可以只记录一半的边,每次检查的时候严格按照ID小到大的顺序来。. .и

我只能想到这儿了。
回复

使用道具 举报

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

本版积分规则

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