字体
大
中
小
关灯
   存书签 书架管理 返回目录
Python,Java都碰过。”
    瘦高个的眉毛动了一下。
    他显然没预料到一个文科生能一口气报出三门语言的名字。
    “我们协会有个惯例,新入社的成员需要做一套简单的测试题。这是给非专业同学的基础版。”
    瘦高个从桌上翻出一张A4纸,推过去,
    “不限时间,手写伪代码就行。”
    顾屿低头看那张纸。
    三道题。
    第一道:实现一个冒泡排序算法,并分析其时间复杂度。
    第二道:给定一个字符串,判断它是否为回文。
    第三道:用递归实现斐波那契数列的第N项,并说明递归方案的缺陷及优化方向。
    顾屿差点没绷住。
    冒泡排序。回文判断。斐波那契递归。
    这三道题,对顾屿来说实在太小儿科了。
    前世他创业没钱雇人,产品、开发、测试全是他一个人硬扛,硬生生被逼成了个全栈野路子。
    这种感觉怎么形容呢。
    大概就是让一个开了十五年卡车的老司机,去考科目一的口头题:“红灯亮了应该怎么办?”
    顾屿拿起旁边的圆珠笔。
    第一道题。
    他没用标准教科书的写法。
    手起笔落,直接写了一版双向冒泡排序的优化变体,减少了接近一半的无效遍历。
    时间复杂度分析写了三行,从最优O(n)到最差O(n??),顺带提了一句在近乎有序的数据集上,插入排序的常数项优势更大。
    第二道题。
    回文判断。
    他用双指针法写完,又在旁边补了一行注释:若输入是Unicode字符串,需额外处理代理对的边界情况。
    第三道题。
    斐波那契递归。
    顾屿写完朴素递归版本后,在下面画了一棵递归树,标注了大量重复子问题。
    然后给出了两种优化方案:备忘录法和自底向上的动态规划。
    最后,他在纸张空白处加了一行小字:“如果N极大且只需精确值,建议用矩阵快速幂,时间复杂度可压到O(logN)。”
    全程不到四分钟。
    顾屿把笔放下,把那张A4纸推回去。
    瘦高个接过来,低头扫了一眼。
    他的表情变化很有层次。
    先是例行公事的随意一瞥。
    然后眉头拧了一下。
    然后眼球开始快速

关闭+畅/阅读=模式,看最新完整内容。本章未完,请点击下一页继续阅读》》
上一页 目录 下一页