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

亚麻VO面经

🔗
匿名用户-PLIPT  2022-5-27 22:34:13 |倒序浏览

2022(4-6月) MobileEng 本科 全职@amazon - 内推 - 视频面试  | 😐 Neutral 😣 Hard | Fail | 在职跳槽

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

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

x
亚麻社招VO面试,前10分钟问了最近
您好!
本帖隐藏的内容需要积分高于 188 才可浏览
您当前积分为 0。
使用VIP即刻解锁阅读权限或查看其他获取积分的方式
游客,您好!
本帖隐藏的内容需要积分高于 188 才可浏览
您当前积分为 0。
VIP即刻解锁阅读权限查看其他获取积分的方式
Unlock interview details and practice with AI
Curated Interview Questions from Top Companies
SCUZ_CODE_1        ]

评分

参与人数 2大米 +6 收起 理由
匿名用户-06GX3 + 5
chaoqin + 1 很有用的信息!

查看全部评分


上一篇:Google VO
下一篇:CB 店面分享 + 詢問code review轮?
地里匿名用户
🔗
匿名用户-FNATY  2022-5-27 22:59:21
好奇没有bq吗
回复

使用道具 举报

🔗
francislau 2022-5-27 23:17:43 | 只看该作者
全局:
请问是sde几啊?
回复

使用道具 举报

全局:
2/3吧,工作好几年了。
回复

使用道具 举报

🔗
chaoqin 2022-5-28 19:58:47 | 只看该作者
全局:
第一题要是不让using extra space确实会比较难和容易出错啊
回复

使用道具 举报

地里匿名用户
🔗
匿名用户-IGGIG  2022-5-28 22:16:47
题不难啊
回复

使用道具 举报

全局:
说不上很难。时间紧凑下就比较难完成呢。
回复

使用道具 举报

🔗
Explosive 2022-5-29 01:19:18 | 只看该作者
全局:
本帖最后由 Explosive 于 2022-5-29 01:26 编辑

第二题解法
写下这80+行代码,这个时间是比较紧张的
  1. from typing import Optional


  2. class ListNode:
  3.     def __init__(self, val=0, next=None):
  4.         self.val = val
  5.         self.next = next


  6. def num_to_reverse_list(num: int) -> Optional[ListNode]:
  7.     l = []
  8.     while num > 0:
  9.         l.append(num % 10)
  10.         num = num // 10
  11.     virtual_head = ListNode(0)
  12.     last_node = virtual_head
  13.     for e in l:
  14.         last_node.next = ListNode(e, None)
  15.         last_node = last_node.next
  16.     return virtual_head.next


  17. # 如果知道谁大谁小那就很简单,但是因为是数字倒序存入单链表,因此直接比较大小
  18. # 转为其他数据结构:可以考虑先转列表;python中整数不限制位数,也可以直接转为整数计算
  19. # 二进制可以通过补码,将减法转换为加法 https://zhuanlan.zhihu.com/p/21258170
  20. def minus_list(l1_node: Optional[ListNode], l2_node: Optional[ListNode]) -> Optional[ListNode]:
  21.     # l1-l2不停借位,如果借不到了,就给l2对应位数+1
  22.     result_virtual_node = ListNode(0)
  23.     result_pointer_node = result_virtual_node

  24.     cover_virtual_node = ListNode(0)
  25.     cover_pointer_node = cover_virtual_node
  26.     borrow = 0

  27.     while l1_node and l2_node:
  28.         sub = l1_node.val - l2_node.val - borrow
  29.         if sub >= 0:
  30.             borrow = 0
  31.             result_pointer_node.next = ListNode(sub)
  32.             result_pointer_node = result_pointer_node.next
  33.         else:
  34.             borrow = 1
  35.             result_pointer_node.next = ListNode(sub + 10)
  36.             result_pointer_node = result_pointer_node.next
  37.         cover_pointer_node.next = ListNode(0)
  38.         cover_pointer_node = cover_pointer_node.next
  39.         l1_node = l1_node.next
  40.         l2_node = l2_node.next

  41.     if not l1_node:
  42.         while l2_node:
  43.             cover_pointer_node.next = ListNode(l2_node.val + borrow)
  44.             cover_pointer_node = cover_pointer_node.next
  45.             l2_node = l2_node.next
  46.             borrow = 0
  47.         if borrow:
  48.             cover_pointer_node.next = ListNode(1)
  49.             cover_pointer_node = cover_pointer_node.next
  50.             borrow = 0
  51.     if cover_pointer_node.val != 0:
  52.         return minus_list(cover_virtual_node.next, result_virtual_node.next)

  53.     return result_virtual_node.next


  54. def reverse_node_to_num(node: Optional[ListNode]) -> int:
  55.     num = 0
  56.     i = 0
  57.     while node:
  58.         num += 10 ** i * node.val
  59.         node = node.next
  60.         i += 1
  61.     return num


  62. if __name__ == '__main__':
  63.     print(reverse_node_to_num(minus_list(num_to_reverse_list(142), num_to_reverse_list(137))))
  64.     print(reverse_node_to_num(minus_list(num_to_reverse_list(137), num_to_reverse_list(142))))

  65.     print(reverse_node_to_num(minus_list(num_to_reverse_list(42), num_to_reverse_list(137))))
  66.     print(reverse_node_to_num(minus_list(num_to_reverse_list(137), num_to_reverse_list(42))))
复制代码
回复

使用道具 举报

地里匿名用户
🔗
匿名用户-IGGIG  2022-5-29 09:52:40
boomjoe1991 发表于 2022-5-29 00:42
说不上很难。时间紧凑下就比较难完成呢。

那倒是 第二个有点麻烦,赶时间的话 有些紧张的
回复

使用道具 举报

地里匿名用户
🔗
匿名用户-PLIPT  2022-5-29 10:05:37 来自APP
Explosive 发表于 2022-05-28 10:19:18
第二题解法
写下这80+行代码,这个时间是比较紧张的from typing import Optional
Hackerrank 上有原题
回复

使用道具 举报

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

本版积分规则

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