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

新鲜出炉Rubrik一面

全局:

2017(10-12月) 码农类General 博士 全职@rubrik - 内推 - 技术电面  | | Pass | 应届毕业生

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

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

x
今天刚面了Rubrik第一轮,两道没见过的题,第一题给了hint才用binary search 做出来的,第二道题也是给了hint,面完以为挂了,但刚收到邮件说可以move on

Quenstion 1: 找所有local maximum,array满足两个
您好!
本帖隐藏的内容需要积分高于 188 才可浏览
您当前积分为 0。
使用VIP即刻解锁阅读权限或查看其他获取积分的方式
游客,您好!
本帖隐藏的内容需要积分高于 188 才可浏览
您当前积分为 0。
VIP即刻解锁阅读权限查看其他获取积分的方式
Unlock interview details and practice with AI
Curated Interview Questions from Top Companies
n1 -> n3,可以改变任何一个edge的start和end node.

Minimum number of swaps to make all nodes good



我是用DFS做的,感觉用union find应该也可以做。

评分

参与人数 3大米 +58 收起 理由
turfkids + 5 很有用的信息!
Lighterkey + 3 很有用的信息!
夏虫不知雪花 + 50

查看全部评分


上一篇:请问有这周五(10.13)Google电面的小伙伴吗?
下一篇:Pure Storage 12题版本OA面经
🔗
2011051305 2017-10-12 07:05:15 | 只看该作者
全局:
您好!
本帖隐藏的内容需要积分高于 100 才可浏览
您当前积分为 0。
使用VIP即刻解锁阅读权限或查看其他获取积分的方式
游客,您好!
本帖隐藏的内容需要积分高于 100 才可浏览
您当前积分为 0。
VIP即刻解锁阅读权限查看其他获取积分的方式
Unlock interview details and practice with AI
Curated Interview Questions from Top Companies
回复

使用道具 举报

🔗
Galoisgun 2017-10-12 07:55:45 | 只看该作者
全局:
求问楼主~第一题 left = 8, right = 16 这一段中间的极小值是怎么设计跳过的?
回复

使用道具 举报

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

使用道具 举报

🔗
 楼主| bombersun 2017-10-12 08:25:25 | 只看该作者
全局:
Galoisgun 发表于 2017-10-12 07:55
求问楼主~第一题 left = 8, right = 16 这一段中间的极小值是怎么设计跳过的?

额,我面试写的,没有跳过,似乎也没法跳过吧
回复

使用道具 举报

🔗
AllenTang123 2017-10-12 12:35:18 | 只看该作者
全局:
贴个代码,求点大米,顺便求检验一下。
  1. class Solution:
  2.         def localMax(self, nums):
  3.                 res = []
  4.                 if nums is None or len(nums) == 0:
  5.                         return res

  6.                 start, end = 0, len(nums) - 1
  7.                 mid = (start + end) / 2
  8.                 if mid - 1 >= start and mid + 1 <= end:
  9.                         if nums[mid-1] < nums[mid] > nums[mid+1]:
  10.                                 res.append(nums[mid])
  11.                         if abs(nums[mid] - nums[start]) != mid - start:
  12.                                 res += self.localMax(nums[:mid+1])
  13.                         if abs(nums[end] - nums[mid]) != end - mid:
  14.                                 res += self.localMax(nums[mid:])
  15.                 return res

  16. s = Solution()
  17. nums = [1,2,3,4,5,6,5,4,3,4,5,4,3,2,1,2,1]
  18. print(s.localMax(nums))
复制代码
回复

使用道具 举报

🔗
troublesome74 2017-10-24 13:01:59 | 只看该作者
全局:
AllenTang123 发表于 2017-10-12 12:35
贴个代码,求点大米,顺便求检验一下。

如果input是1 2 3 4 5 6 7 8呢?
回复

使用道具 举报

🔗
chungjin 2018-2-12 10:00:31 | 只看该作者
全局:
请问有向图使用array数组中存linkedlist表示的吗?
回复

使用道具 举报

🔗
xiangxiang111 2018-2-15 03:20:24 | 只看该作者
全局:
可以再详细的说下第二题swap 么? 例子没看懂
回复

使用道具 举报

🔗
laobai2024 2019-2-25 09:18:22 | 只看该作者
全局:
  1. def func(nums):
  2.     low, high = 0, len(nums) - 1
  3.     while low < high:
  4.         mid = (low + high) / 2
  5.         if nums[mid] < nums[mid + 1]:
  6.             low = mid + 1
  7.         else:
  8.             high = mid
  9.     return nums[low]


  10. nums1 = [1, 2, 3, 4, 5, 6, 7, 8, 7, 6, 5, 4, 3, 4, 5, 6, 7, 6, 5]
  11. nums2 = [1, 2, 3, 4, 5]
  12. nums3 = [5, 4, 3, 2, 1]

  13. assert(func(nums1) == 8)
  14. assert(func(nums2) == 5)
  15. assert(func(nums3) == 5)
复制代码

补充内容 (2019-2-25 09:20):
瞎了 我还以为是只找一个
回复

使用道具 举报

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

本版积分规则

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