<
回复: 11
收起左侧

Meta电面coding | MLE

匿名用户-N1N0P  2024-6-22 02:32:24
本楼:   👍  0
0%
0%
0   👎

2024(4-6月) MachineLearningEng 硕士 全职@meta - 内推 - 技术电面  | 😃 Positive 😐 AverageOther | 在职跳槽

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

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

x
本帖最后由 匿名 于 2024-6-21 11:34 编辑

第一题是字符串加法。
第二题是给一个带duplicate sorted array,找出其中的unique number个数。

倒是全做完了,但是第二题的binary search步感觉有个小边界条件bug,面试官说没事他回头再测测
您好!
本帖隐藏的内容需要积分高于 188 才可浏览
您当前积分为 0。
使用VIP即刻解锁阅读权限或查看其他获取积分的方式
游客,您好!
本帖隐藏的内容需要积分高于 188 才可浏览
您当前积分为 0。
VIP即刻解锁阅读权限查看其他获取积分的方式
可太不值了 >_<

一个经验是,我感觉我说话说的太多了又很细致,导致浪费了一些时间。

评分

参与人数 1大米 +5 收起 理由
清道神君 + 5 欢迎分享你知道的情况,会给更多大米奖励!

查看全部评分


上一篇:Harvey onsite面经
下一篇:🧱店面
justin 2024-6-22 03:43:12 | 显示全部楼层
本楼:   👍  2
100%
0%
0   👎
全局:   7631
96%
4%
317
第二题两种解法:
1. 直接遍历,时间O(n),空间O(1)(不需要创建hashset,只需要比较连续的两个字符判断是不是一样就可以)
2. 从第一个元素开始(比如1),找它的upper_bound_index(最右边的1在哪),这一步是经典的binary search找右边界,log(n),找到之后,下一个元素就是下一个unique number了。总共有k个unique number,所以是klog(n)。binary search找右边界这一步参考LC34

这里最优的说法,应该是两种都聊,然后具体哪种更优,取决于n 和 klog(n) 谁大谁小
回复

使用道具 举报

地里匿名用户
匿名用户-QWGDD  2024-6-22 03:17:21
本楼:   👍  2
100%
0%
0   👎
为什么要用binary search把问题搞复杂?直接遍历
扫码关注一亩三分地求职移民公众号
更多干货内容等你发现
回复

使用道具 举报

dragonite 2024-6-22 08:42:44 | 显示全部楼层
本楼:   👍  1
100%
0%
0   👎
全局:   4
100%
0%
0
class Solution:
    def removeDuplicates(self, nums: List[int]) -> int:

        length = len(nums)
        if length == 0:
            return 0

        i = 0
        l = 0
        while i < length:
            nums[l] = nums[i]
            result = self.binarySearch(nums, i)
            if result != -1:
                i = result-1
            else:
                i = length-1
            i = i+1
            l += 1  

        return l        
                        
    def binarySearch(self, nums, i):
        target = nums[i]
        left, right = i+1, len(nums)-1
   
        while left <= right:

            mid = (left+right) // 2
            if nums[mid] > target:
                right = mid-1
            else:
                left =  mid+1
            
        return -1 if left > len(nums)-1 else left
回复

使用道具 举报

图书馆里的猫 2024-6-22 03:24:58 | 显示全部楼层
本楼:   👍  0
0%
0%
0   👎
全局:   21
95%
5%
1
能不能问一下第二题怎么做呀
回复

使用道具 举报

地里匿名用户
匿名用户-N1N0P  2024-6-22 04:17:17
本楼:   👍  0
0%
0%
0   👎
justin 发表于 2024-6-21 12:43
第二题两种解法:
1. 直接遍历,时间O(n),空间O(1)(不需要创建hashset,只需要比较连续的两个字符判断是 ...

对的我也是两个都说了,写的第二种做法,但是只剩15分钟了,边界条件会出现infinite loop的问题。但是没时间了,我想改面试官说不用改了。
回复

使用道具 举报

地里匿名用户
匿名用户-BICL0  2024-6-22 07:26:29
本楼:   👍  0
0%
0%
0   👎
左闭右开,符合条件往左边界往右边缩,返回left -1
回复

使用道具 举报

地里匿名用户
匿名用户-N1N0P  2024-6-22 08:42:52
本楼:   👍  0
0%
0%
0   👎
匿名用户 发表于 2024-6-21 12:17
为什么要用binary search把问题搞复杂?直接遍历

对于重复element太多太长的case用binary search,复杂度是k*log(n)。当k < n / log(n)的情况下这个更快
回复

使用道具 举报

地里匿名用户
匿名用户-WWWZJ  2024-6-22 09:14:22
本楼:   👍  0
0%
0%
0   👎
有没有可能面试官其实只是想让你写第一种解法,简单也容易正确
回复

使用道具 举报

地里匿名用户
匿名用户-RSMUQ  2024-6-22 11:01:09 来自APP
本楼:   👍  0
0%
0%
0   👎
有点儿像lc26
回复

使用道具 举报

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

本版积分规则

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