第92章 刷賽練級
傍晚,302宿舍。洛北正對著麵前的電腦螢幕,敲下了最後一行代碼。
這是他新買的外星人筆記本,這台效能猛獸搭載著RTX4090顯卡,不過,洛北買它的目的倒不單是打遊戲。
現在他正在LeetCode(力扣)網站上,完成一道0—1揹包問題的動態規劃。
這是LeetCode周賽裡的一道演算法題。
海量台灣小說在台灣小說網,𝖙𝖜𝖐𝖆𝖓.𝖈𝖔𝖒等你尋
周賽是LeetCode平台每週定期舉辦的編程競賽,通過限時解題挑戰,與世界各地的平台用戶共同競技,可以得到積分獎勵和全球排名。
題目看起來很簡單,但需要他構建一個二維狀態數組,通過狀態轉移方程來一步步推導出最優解。
這難不倒洛北。自從「程式設計師」天賦的訓練經驗逐漸積累,洛北發現,他漸漸無師自通地學會了在腦內快速推演代碼。「程式設計師」天賦的訓練,就像在他的意識深處搭建了一個代碼編譯器。
隨著訓練進度條的推進,他與編譯器的磨合越發地流暢起來。
對於這道題,洛北考慮得很仔細。邊界條件他需要小心處理,然後通過狀態壓縮優化空間複雜度,最後代碼一氣嗬成。
點擊提交,很快,螢幕上跳出了他的成績。
四道演算法題全AC(Accept,通過),也就是說,代碼在所有測試用例下都正確驗證了。周賽排名9/5842,他是這期周賽整個平台第9個成功AK(AIIKilled,全部通過)的挑戰者。
拿到LeetCode周賽的前20名,會有熊公仔和U盤之類的小獎品聊表心意。不過,洛北對此不太在意,他是為了刷級而來。
此時此刻,腦海中天賦樹的結算提示應聲跳了出來:
【你通過挑戰LeetCode周賽,積累96點「程式設計師」職業經驗。距離下一級還需:4954點。】
洛北舒了口氣。這是他最近的發現:通過參加力扣這類線上編程平台競賽獲得的經驗,遠遠高於常規的看書做題。
這是「程式設計師」與之前的「做題家」全然不同的地方,也或許是現實裡編程學習的真諦:紙上得來終覺淺,絕知此事要躬行。
其他人都在軍訓場被烈日暴曬乘鹹魚乾的時候,因為校領導特批而空閒下來的洛北,就索性繼續原本在暑假勤學不輟的「程式設計師」天賦訓練。
好在,他早有編程基礎,這段時間更是在「做題家」和「程式設計師」雙重天賦的輔助下,把《演算法》、《演算法導論》、《演算法競賽入門》————幾本教材,用最快速度啃了下來。
現在直接上手LeetCode裡的演算法題庫,也不覺得如何棘手,反而有種將理論知識落地的暢快感。
他漸漸開始沉迷於各種演算法的變幻莫測,從雜湊對映,到圖論最短路徑,再到貪心、回溯和分治————一步一個腳印地刷著「程式設計師」經驗。
因為存在相似題型的緣故,演算法題是越做越快的。遇到新題時,洛北可以通過原有的「做題家」天賦,把它迅速歸類,舉一反三,效率越來越高。
以他現在打下的底子,大一的《c語言程式設計》、《數據結構》乃至《麵向對象編程》課程,基本上就是信手拈來。如果不能以95分以上的高分通過,實在對不起他的「程式設計師」天賦。
不過,洛北對這個天賦的期望,遠不止於成為一個成績優異的本科生,然後畢業後進入大廠,拿一份令人羨慕的高薪。
夜深人靜時,洛北有過一度的輾轉反側,想及未來的規劃,想及他能靠著「天賦樹」走到何種高度。他絕不會甘願滿足於隻是給他人打工,他想要有足夠的話語權,按自己的意誌去探索技術的邊界,去創造真正有價值的產品,甚至————有朝一日,能成為引領某個技術方向的弄潮兒。
為此,洛北知道,自己必須擁有獨當一麵的能力。
他要靠著「程式設計師」天賦,成為全棧工程師,掌握從用戶介麵到伺服器邏輯,再到資料庫和計網的全能型人物。
在成為團隊領袖之前,技術永遠是自己可以倚賴對抗資本的最大底氣。
所以,洛北靠著「雙重天賦·概念超憶」的記憶力BUFF,開始看起了《JavaScript權威指南》、《深入淺出Node.js》、《Vue.js Guide》————在這個BUFF的持續時間內,隻要是在他理解範圍內的計算機知識,統統可以過目不忘。
等他打通前端 後端任督二脈,再結合他紮實的算**底,再修煉些計網TCP/IP的知識,上手實踐幾個完整的全棧項目,洛北相信自己很快就自學出師。
如果再學些需求設計的知識,瞭解點美工技術,或許他都可以直接一人成軍,獨立完成從產品構思到項目上線的全程。
埋頭用功的時間過得最快,當宿舍門被推開,肖崖和何子望拖著疲憊不堪的身子,結束一天訓練回來時,洛北已經完成了今天份的「程式設計師」訓練任務。
看著癱倒在椅子上、連手指都不想動的兩位室友,洛北內心確實有點慶幸自己豁免了軍訓。
兩週十四天的軍訓時間,他用在刀刃上,能將「程式設計師」的經驗進度條往前推進了一大截。
就在肖崖和何子望掙紮著收拾盆桶準備去沖澡時,洛北隨手點開了京華大學內部的「你校」論壇。
一條被頂到熱門位置的帖子,引起了他的注意。是一位高年級學長髮的科普兼動員帖:「號外,一大波編程賽事臨近!滄海杯省賽和ACM校內選拔賽報名在即!你,準備好了嗎?」
帖子裡說明得很詳細,今年的「滄海杯」省賽於9月5日正式開啟報名。而因為難度更大、含金量更高的ACM—ICPC賽事的臨近,京華大學也準備開辦校內選拔賽,選出集訓隊伍,參加ACM的亞洲區域賽。
這確實也引起了洛北的興趣。他現在學了一身的編程技巧和演算法知識,正需要刷一刷競賽,給自己的「程式設計師」天賦快速積攢訓練經驗。
「滄海杯」是個人賽,省賽含金量雖然不算高,但勝在無需組隊,而且為了鼓勵學生參加,很多學校都是報銷報名費的。
隻有拿到省賽一等獎的選手,纔有資格參加三個月後的國賽。而國賽一等獎的含金量,雖然仍次於ACM區域賽金牌,但也是很有分量的獎項了。
反正洛北的目的也就是刷「程式設計師」經驗,倒是無所謂分量與否。
隻是ACM,向來都是三人一組參賽,一向獨狼的他習慣了單打獨鬥,突然想要招募隊友,就有點臨陣磨槍的為難。
洛北倒也不急。他不是Oler(資訊奧林匹克競賽選手)出身,對ACM的執念,細究起來其實冇有多少。隨緣吧,如果找到好隊友的話,參一腳也無妨。
就在這時,他的手機螢幕亮了起來,是白芷發來的訊息,她抵達京城了:「阿北,我辦完入學手續了。你最近有空嗎?或許,週末————我們可以一起當旅遊搭子,好好逛一逛京城周邊的大小景點?」
>