第92章 刷赛练级(1/2)
第92章 刷赛练级
傍晚,302宿舍。洛北正对著面前的电脑屏幕,敲下了最后一行代码。
这是他新买的外星人笔记本,这台性能猛兽搭载著rtx4090显卡,不过,洛北买它的目的倒不单是打游戏。
现在他正在leetcode(力扣)网站上,完成一道0—1背包问题的动態规划。
这是leetcode周赛里的一道算法题。
周赛是leetcode平台每周定期举办的编程竞赛,通过限时解题挑战,与世界各地的平台用户共同竞技,可以得到积分奖励和全球排名。
题目看起来很简单,但需要他构建一个二维状態数组,通过状態转移方程来一步步推导出最优解。
这难不倒洛北。自从“程式设计师”天赋的训练经验逐渐积累,洛北发现,他渐渐无师自通地学会了在脑內快速推演代码。“程式设计师”天赋的训练,就像在他的意识深处搭建了一个代码编译器。
隨著训练进度条的推进,他与编译器的磨合越发地流畅起来。
对於这道题,洛北考虑得很仔细。边界条件他需要小心处理,然后通过状態压缩优化空间复杂度,最后代码一气呵成。
点击提交,很快,屏幕上跳出了他的成绩。
四道算法题全ac(accept,通过),也就是说,代码在所有测试用例下都正確验证了。周赛排名9/5842,他是这期周赛整个平台第9个成功ak(aiikilled,全部通过)的挑战者。
拿到leetcode周赛的前20名,会有熊公仔和u盘之类的小奖品聊表心意。不过,洛北对此不太在意,他是为了刷级而来。
此时此刻,脑海中天赋树的结算提示应声跳了出来:
【你通过挑战leetcode周赛,积累96点“程式设计师”职业经验。距离下一级还需:4954点。】
洛北舒了口气。这是他最近的发现:通过参加力扣这类线上编程平台竞赛获得的经验,远远高於常规的看书做题。
这是“程式设计师”与之前的“做题家”全然不同的地方,也或许是现实里编程学习的真諦:纸上得来终觉浅,绝知此事要躬行。
其他人都在军训场被烈日暴晒乘咸鱼乾的时候,因为校领导特批而空閒下来的洛北,就索性继续原本在暑假勤学不輟的“程式设计师”天赋训练。
好在,他早有编程基础,这段时间更是在“做题家”和“程式设计师”双重天赋的辅助下,把《算法》、《算法导论》、《算法竞赛入门》————几本教材,用最快速度啃了下来。
现在直接上手leetcode里的算法题库,也不觉得如何棘手,反而有种將理论知识落地的畅快感。
他渐渐开始沉迷於各种算法的变幻莫测,从哈希映射,到图论最短路径,再到贪心、回溯和分治————一步一个脚印地刷著“程式设计师”经验。
因为存在相似题型的缘故,算法题是越做越快的。遇到新题时,洛北可以通过原有的“做题家”天赋,把它迅速归类,举一反三,效率越来越高。
以他现在打下的底子,大一的《c语言程序设计》、《数据结构》乃至《面向对象编程》课程,基本上就是信手拈来。如果不能以95分以上的高分通过,实在对不起他的“程式设计师”天赋。
本章未完,点击下一页继续阅读。