双向冒泡排序的优化变体,减少了接近一半的无效遍历。
时间复杂度分析写了三行,从最优O(n)到最差O(n²),顺带提了一句在近乎有序的数据集上,插入排序的常数项优势更大。
第二道题。
回文判断。
他用双指针法写完,又在旁边补了一行注释:若输入是UniCOde字符串,需额外处理代理对的边界情况。
第三道题。
斐波那契递归。
顾屿写完朴素递归版本后,在下面画了一棵递归树,标注了大量重复子问题。
然后给出了两种优化方案:备忘录法和自底向上的动态规划。
最后,他在纸张空白处加了一行小字:“如果N极大且只需精确值,建议用矩阵快速幂,时间复杂度可压到O(lOgN)。”
全程不到四分钟。
顾屿把笔放下,把那张A4纸推回去。
瘦高个接过来,低头扫了一眼。
他的表情变化很有层次。
先是例行公事的随意一瞥。
然后眉头拧了一下。
然后眼球开始快速左右移动,像是在逐行校验代码逻辑。
然后他的嘴巴微微张开了。
旁边一个圆脸男生凑过来看了一眼,低声说了句什么。
瘦高个没理他,把纸翻过来看了看背面是不是也写了东西,确认没有之后,又翻回正面重新看了一遍。
“同学。”
瘦高个抬起头,表情已经完全不一样了,
“你确定你是国际政治的?”
“确定。”
“你这个双向冒泡的写法……你之前在哪学的?”
“自学。”
顾屿语气很淡,
“网上教程挺多的。”
瘦高个看了他好几秒,又看了看手里的答卷。
“矩阵快速幂……”
本章未完,请点击"下一页"继续阅读! 第3页 / 共5页