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

🐶🐶 昂塞特

🔗
kaipeng21 2019-4-9 10:35:08 | 只看该作者
全局:
以LC 363为基础写了个第二题

  1. #第二个阿三小哥,先问了问有什么interesting research的话题可以分享,然后开始做题:
  2. # 又是一个二维矩阵代表cost,然后有个地产商要买地,他有一个budget limit,
  3. # 求 < budget能买到的面积最大的rectangle,讨论了15min怎么做怎么优化,
  4. # 15min写code,然后花了10min回答我的问题

  5. def max_area_within_budget(mat, budget):
  6.     if not mat: return 0
  7.     m, n = len(mat), len(mat[0])

  8.     res = 0
  9.     for up in range(m):
  10.         sumarr = [0] * n
  11.         for down in range(up, m):
  12.             for j in range(n):
  13.                 sumarr[j] += mat[down][j]
  14.             height = down - up + 1
  15.             width = find_max_width(sumarr, budget)
  16.             res = max(res, width * height)
  17.     return res
  18.    
  19. def find_max_width(arr, k):
  20.     res = 0
  21.     curr = start = end = 0
  22.     while end < len(arr):
  23.         curr += arr[end]
  24.         end += 1
  25.         while curr > k:
  26.             curr -= arr[start]
  27.             start += 1
  28.         res =  max(res, end - start)
  29.     return res

  30. import unittest

  31. class TestMaxAreaWithinBudget(unittest.TestCase):

  32.     def test_1(self):
  33.         mat = [[1, 1, 3, 6], [2, 4, 10, 3], [1, 1, 9, 6]]
  34.         k = 10
  35.         print(max_area_within_budget(mat, k))
  36.         assert max_area_within_budget(mat, k) == 6
  37.         k = 4
  38.         print(max_area_within_budget(mat, k))
  39.         assert max_area_within_budget(mat, k) == 3

  40.     def test_2(self):
  41.         mat = [
  42.             [10, 10, 10, 10],
  43.             [11, 1, 2, 3],
  44.             [21, 2, 3, 4],
  45.             [40, 1, 9, 9]
  46.         ]
  47.         k = 4
  48.         print(max_area_within_budget(mat, k))
  49.         assert max_area_within_budget(mat, k) == 3
  50.         k = 8
  51.         print(max_area_within_budget(mat, k))
  52.         assert max_area_within_budget(mat, k) == 4
  53.         k = 15
  54.         print(max_area_within_budget(mat, k))
  55.         assert max_area_within_budget(mat, k) == 6
  56.         k = 34
  57.         print(max_area_within_budget(mat, k))
  58.         assert max_area_within_budget(mat, k) == 9
  59.         k = 10000
  60.         print(max_area_within_budget(mat, k))
  61.         assert max_area_within_budget(mat, k) == 16

  62. unittest.main()
复制代码
回复

使用道具 举报

全局:
kaipeng21 发表于 2019/04/09 10:35:08
以LC 363为基础写了个第二题

[mw_shl_code=python,true]#第二个阿三小哥,先问了问有什么interesting research的话题可以分享,然后开始做题:
# ...

楼主好记性
回复

使用道具 举报

🔗
umialpha 2019-4-10 13:26:15 | 只看该作者
全局:
第三题可不可以把"转弯"当做cost,存入PriorityQueue用bfs或者dfs的方法,最后如果能到end_point,一定是转弯最少的方式。

补充内容 (2019-4-10 13:29):
也有可能是刷题网武林无。 那题是一直走到底,遇到墙就拐,求最少距离。 麻烦楼主再次确认一下
回复

使用道具 举报

🔗
 楼主| zhangzx 2019-4-10 23:37:17 | 只看该作者
全局:
umialpha 发表于 2019-4-10 13:26
第三题可不可以把"转弯"当做cost,存入PriorityQueue用bfs或者dfs的方法,最后如果能到end_point,一定是转 ...

貌似不是利口武陵武,就是要求转弯次数最少
回复

使用道具 举报

🔗
 楼主| zhangzx 2019-4-10 23:38:01 | 只看该作者
全局:
ruy1su 发表于 2019-4-9 03:03
第三题是不是利口maze兔bfs找最短?

差不多这个意思,不过不是要路程短,要转弯少,不过思路差不多吧
回复

使用道具 举报

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

使用道具 举报

🔗
 楼主| zhangzx 2019-4-10 23:44:18 | 只看该作者
全局:

厉害厉害,就是这个变体,把最大sum编程最大面积
回复

使用道具 举报

🔗
xliu34 2019-4-10 23:54:09 | 只看该作者
全局:
zhangzx 发表于 2019-4-10 23:40
Q4就是把一个array of dict 转成 dict of array,然后要处理missing data这样,比较像DS面
Q1没有overfl ...

谢谢回复,大家加油!
回复

使用道具 举报

全局:
谢谢楼主!请问面的是research职位吗,为什么还要讨论论文
回复

使用道具 举报

🔗
 楼主| zhangzx 2019-4-11 03:42:22 | 只看该作者
全局:
warlord 发表于 2019-4-11 00:16
谢谢楼主!请问面的是research职位吗,为什么还要讨论论文

投的就是General SDE,貌似博士都会面一轮thesis
回复

使用道具 举报

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

本版积分规则

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