您的位置:首 页 > 言情小说 > AI时代:码农的涅盘重生 > AI时代:码农的涅盘重生目录 > 第121章 T厂技术一面(第1页/共3页)
返回目录 | 加入书签 | 推荐本书 | 收藏本页

AI时代:码农的涅盘重生 第121章 T厂技术一面(第1页/共3页)


****3*6*0**小**说**阅**读**网**欢**迎**您****

请用户自行鉴定本站广告的真实性及其合法性,本站对于广告内容不承担任何责任。

    上午九点五十分,林晨坐在T厂大楼三十二层的一间小型会议室里。

    会议室不大,约十平米,一张长方形会议桌,四把椅子,墙上挂着白板。窗户朝东,晨光透过百叶窗在地板上投下斑驳的光影。空气里有淡淡的消毒水味和咖啡香——典型的互联网公司气味。

    林晨提前二十分钟到达。前台核对信息后,一位年轻的HR实习生将他领到这里,递上一瓶矿泉水,礼貌地说面试官马上就到。

    他打开笔记本电脑,连接电源,再次检查网络。视频面试链接已经发到邮箱,但他被通知第一轮是现场面试。也好,面对面更能展现状态。

    九点五十五分,门被推开。

    进来的是个三十出头的男性,短发,戴黑框眼镜,穿着深灰色T恤,胸口印着T厂的logo。他手里拿着iPad和一支笔,步伐轻快。

    “林晨是吧?我是王磊,AI平台部的算法工程师,今天由我来做技术一面”。他伸出手,笑容温和但透着专业感。

    林晨起身握手:“王老师好,我是林晨”。

    “坐坐,别客气”。王磊在对面坐下,打开iPad,“简历我看过了,十年跨境电商经验,最近半年自学AI,还做了个量化投资系统”?

    “是的”。林晨点头,心里快速调整状态——苏婉说得对,不是接受考核,是展示价值。

    “那我们直接开始吧”。王磊推了推眼镜,“先做两道算法题,可以吗”?

    “没问题”。

    王磊在iPad上操作几下,将屏幕转向林晨。是T厂内部的在线编程平台界面,题目已经加载。

    第一题:寻找旋转排序数组中的最小值 II

    题目描述:假设一个按升序排列的数组在某个未知点上进行了旋转(例如,数组 [0,1,2,4,5,6,7] 可能变成 [4,5,6,7,0,1,2])。数组中可能包含重复元素。请编写一个函数,找出其中最小的元素。

    难度标签:Hard。

    林晨扫了一眼题目。这是二分查找的变种,经典难题。他曾在LeetCode上刷过类似的题,但包含重复元素会增加复杂度。

    “可以用这个平台写,也可以在白板上写思路”。王磊说。

    “我直接写代码吧”。林晨将笔记本电脑转向自己,打开编程界面。

    手指落在键盘上时,他深吸一口气。这半年,他刷了超过三百道算法题,从Easy到Hard,从数组到图论。失业的压力转化为刷题的动力,常常一天八小时坐在电脑前,直到眼睛发酸。

    此刻,那些深夜的坚持开始兑现。

    他先写下函数签名,然后快速分析:因为有重复元素,当 nums[mid] == nums[right] 时,无法判断最小值在左侧还是右侧,此时只能将右指针减一。时间复杂度最坏会退化到O(n),但平均仍是O(log n)。

    指尖在键盘上飞舞:

    def findMin(nums):

    left, right = 0, len(nums) - 1

    while left < right:

    mid = left + (right - left) // 2

    if nums[mid] > nums[right]:

    left = mid + 1

    elif nums[mid] < nums[right]:

    right = mid

    else: # nums[mid] == nums[right]

    right -= 1

    return nums[left]

    写完,他检查了一遍边界条件,点击运行。

    测试用例通过。

    “AC了”。王磊看着iPad上的反馈,点点头,“时间三分十二秒,很快。能解释一下为什么 nums[mid] == nums[right] 时要 right -= 1 吗”?

    林晨转向白板,画了一个数组示意图:“比如 [3,3,1,3],初始时 left=0, right=3, mid=1。nums[1]=3, nums[3]=3,相等。此时我们无法判断最小值在左边还是右边,但可以确定的是,去掉最右边的元素不会丢掉最小值,因为 nums[right] 和 nums[mid] 相等,所以可以安全地将 right 减一”。

    “正确”。王磊在iPad上做了记录,“下一题”。

    第二题:接雨水 II

    题目描述:给定一个 m x n 的矩阵,其中的值均为正整数,代表二维高度图。请计算这个形状可以接多少雨水。

    难度标签:Hard。

    二维接雨水,比一维难得多。林晨记得
>>>点击查看《AI时代:码农的涅盘重生》最新章节