清晨的阳光斜斜切进阶梯教室,林知遥攥着被反复翻阅的《算法导论》,指节在书脊处微微发白。这是顾承霄主讲的高级算法课,教室里坐满了高年级学长学姐,她一个新生,此刻却像误闯狮群的幼鹿。
“今天讲动态规划。”
顾承霄的声音依旧清冷如霜,白大褂下摆扫过讲台,在投影幕布上投下一道修长的影子。
他指尖轻点,复杂的流程图在屏幕上展开,“现在,谁能给出最优子结构的代码实现?”
林知遥下意识咬住下唇,昨晚熬夜推导的代码在脑海中浮现。
她刚想举手,前排的学长己经站了起来。代码一行行敲在黑板上,周围响起零星的赞叹,他是即将毕业的学长周叙白,在大三的时候就己经保了研。专业老师都夸他的代码像诗一样优美。
可林知遥却皱起眉头——这段代码存在冗余,在大规模数据下效率会大打折扣。
“林同学有补充?”
冷不丁被点名,林知遥浑身一僵。所有人的目光如聚光灯般打在她身上,她感觉脸颊发烫,喉咙发紧。
顾承霄站在讲台边缘,黑曜石般的眼睛似笑非笑,仿佛早就看穿了她的欲言又止。
“我……我觉得可以用备忘录法优化。”林知遥的声音被空调风揉得发颤,粉笔在掌心沁出的汗里打滑。她盯着黑板上那串冗余的递归代码,喉结不受控地滚动——学长用的是基础递归法,每个子问题都重复计算,就像拿钝刀砍树。
顾承霄抱臂退后半步,白大褂下摆扫过讲台边缘的粉笔灰。林知遥深吸一口气,粉笔尖在“return f(n-1)+f(n-2)”的代码行上顿住,突然转身在空白处划出表格:“比如计算斐波那契数列,n=40时,普通递归要算300万次子问题,但备忘录法……”
她的粉笔在黑板上拉出利落的弧线,先画了个哈希表轮廓,又在表头写下“n”和“f(n)”。当写到“if n in memo: return memo[n]”时,后排传来笔尖顿在笔记本上的轻响。阳光透过百叶窗在她手背上投下格子光影,她突然想起昨晚在宿舍对着电脑屏幕,用相同的逻辑把运行时间从10秒压到0.1秒的狂喜。
“这样每次计算前先查哈希表......”
她的声音终于稳了些,指着表格里填充的数值。
“就像把砍过的树做上标记,不用重复劈柴。”
话音刚落,顾承霄突然低笑出声,雪松气息顺着讲台漫过来。
“那你演示下,n=100时空间复杂度?”
林知瑶继续板书......
林知遥指尖的粉笔“咔”地折断,碎末落在她帆布鞋上。她看着顾承霄镜片后闪烁的微光,突然意识到——这场代码交锋,从他点名的那一刻起,就不是意外。
写完最后一个分号,林知遥后退半步,紧张地看向顾承霄。他垂眸盯着黑板,金丝眼镜滑到鼻尖,睫毛在眼下投出一片阴影。时间仿佛被拉长,就在林知遥快要撑不住时,他突然轻笑出声。
“不错。”
他屈指轻叩黑板,粉笔灰扑簌簌落下。
“但边界条件处理得不够严谨。”
说着,他抬手接过粉笔,侧身时白大褂的雪松气息将林知遥笼罩。温热的呼吸擦过她发烫的耳尖,他在她写的代码旁快速批注。
“这里,还有这里,需要增加异常判断。”
林知遥盯着他行云流水的字迹,心跳快得不受控制。周围的议论声突然变得遥远,她只能听见自己擂鼓般的心跳,和顾承霄低沉的讲解声。首到下课铃响起,她才如梦初醒,发现自己的后背早己被汗水浸透。
收拾书包时,她听见前排学姐的嘀咕:“一个新生,非要抢风头,质疑周学长的代码,最后自己也不怎么样嘛……”
林知遥攥紧书包带,却在抬头时撞见周叙白投来的目光,他靠在电脑旁边,唇角微微上扬,像是在无声地说——加油。