楊辰饒有興趣的打開(kāi)鏈接。
跳出了一個(gè)注冊(cè)驗(yàn)證。
楊辰輸入自己的手機(jī)號(hào),然后,通過(guò)微信賬號(hào),登陸上去。
進(jìn)入第一個(gè)挑戰(zhàn)關(guān)卡,一道算法問(wèn)題。
看了題目,楊辰不由來(lái)了興趣。
求一個(gè)字符串中最長(zhǎng)不重復(fù)子串的長(zhǎng)度,這是一道關(guān)于大數(shù)據(jù)的算法的題題。
有點(diǎn)難度,不過(guò),難不倒楊辰。
這一題有兩種解法,最簡(jiǎn)單的辦法就是暴力破解法,另一種是巧妙使用指針來(lái)求解。
暴力破解法簡(jiǎn)單粗暴,但是效率太低,用窮舉法列出所有可能的結(jié)果,然后,根據(jù)附加條件進(jìn)一步篩選符合條件的解。
楊辰不打算使用,而是運(yùn)用指針?lè)ㄇ蠼?,效率更高,但需要?duì)指針有較深理解。
用三個(gè)整形maxLength 、start 、end 分別存儲(chǔ)最大子串長(zhǎng)度、子串起始位置、子串結(jié)束,……。
楊辰調(diào)出編程工具,接連敲擊代碼。
很快,楊辰在關(guān)卡下方的答案框,粘貼下題目的答案代碼竄,點(diǎn)擊發(fā)送。
沒(méi)多久,關(guān)卡驗(yàn)證了答案,給予通過(guò)。
第二道關(guān)卡的題目跳出:一個(gè)二叉樹(shù),求路徑之和
看了題目,楊辰眉頭一皺,這是一道客戶端的算法題,經(jīng)過(guò)一翻思考,他還是有思路將這道題目解出來(lái)。
第三題,第四題,……,楊辰一路過(guò)關(guān)斬將。
一直到了第十關(guān),楊辰被題目難住了,苦苦想不出解題的思路。
有一個(gè)很大的整數(shù)list,需要求這個(gè)list中所有整數(shù)的和,如何實(shí)現(xiàn)多核并算,計(jì)算一個(gè)準(zhǔn)確結(jié)果。
這種算法不在楊辰的掌握之中,楊辰唯一的思路便是,采用多線程(任務(wù)),并且還要分割List,每一小塊的List采用一個(gè)線程(任務(wù))進(jìn)行計(jì)算其和。
那么必須要等待所有的線程(任務(wù))完成之后才能得到正確的結(jié)果,可是,要怎么才能保證同一時(shí)間獲得“所有的線程(任務(wù))完成之后輸出的結(jié)果?
……
楊辰眉頭緊皺,久久想不到這道題目的解體方式。
不過(guò),楊辰在關(guān)卡下方看到一個(gè)闖關(guān)助手,點(diǎn)擊那個(gè)連接可以獲得闖過(guò)這道關(guān)卡的攻略。
許久找不到解體答案,楊辰逼不得已,只能向這個(gè)系統(tǒng)認(rèn)輸,點(diǎn)擊尋求闖關(guān)戰(zhàn)略的鏈接。
鏈接打開(kāi),直接跳轉(zhuǎn)到一個(gè)頁(yè)面,展示一種多核算法的理論頁(yè)面。
楊辰微微愣了一下,認(rèn)真閱讀這個(gè)多核算法的演示內(nèi)容,很快,心神便沉迷了下去,腦海中不斷并現(xiàn)一種新算法邏輯。
在根據(jù)關(guān)卡題目的解體思路,套上這個(gè)多核算法,楊辰很快找到了正確的闖關(guān)方法。
楊辰激動(dòng)莫名,迅速按照多核算法的運(yùn)算邏輯,沒(méi)多久他寫出了闖關(guān)題目的標(biāo)準(zhǔn)答案。
點(diǎn)擊-發(fā)送。
答案正確,第十關(guān)通關(guān),繼續(xù)闖下一關(guān)。
第十一關(guān)題目的內(nèi)容呈現(xiàn)出來(lái)。
楊辰認(rèn)真閱覽題目,片刻之后,他的臉色忽然變得難看,陷入了自我懷疑。
這是一道楊辰?jīng)]辦法搞定的題目,好像要應(yīng)用與多核算法類似的新型算法。
楊辰連忙點(diǎn)擊右下角的獲取通關(guān)的理論支持。
然而,這一次,闖關(guān)系統(tǒng)跳出一個(gè)提示對(duì)話框。
闖關(guān)積分不足,無(wú)法獲得理論支持。
楊辰看了一下規(guī)則,要連闖十關(guān),才能獲得一個(gè)理論支持。
另外,闖關(guān)系統(tǒng)還提供了兩種獲得理論支持次數(shù)的方法,一,協(xié)助寫編程需求,二,協(xié)助審批程序。
楊辰好奇不已,連忙點(diǎn)擊協(xié)助寫編程需求。
下一刻,十幾項(xiàng)功能需求的內(nèi)容展現(xiàn)出來(lái)。
三維校對(duì)模擬展示,虛擬點(diǎn)判斷,拋物標(biāo)注線的實(shí)現(xiàn),……,林林總總,十幾種難度類似,功能具體的編程需求,呈現(xiàn)在楊辰眼前。
楊辰皺了皺眉,隨便打開(kāi)一個(gè)標(biāo)題為三維校對(duì)模擬展示的需求內(nèi)容查看起來(lái)。
很快,一股怪異的感覺(jué)在楊辰心里浮現(xiàn),這個(gè)需求很具體,很精準(zhǔn)。
精準(zhǔn)到楊辰一看便能將它寫全部出來(lái),不過(guò),寫這個(gè)程序,需要花一會(huì)兒功夫,楊辰預(yù)估了一下,自己的工作效率,大概要三到四天才能將它拿下來(lái)。
媽的!這不是在利用自己的免費(fèi)勞動(dòng)力嘛?
不能上了這個(gè)惡當(dāng)。
楊辰一下子便意識(shí)到了這個(gè)闖關(guān)系統(tǒng)的真是目的。
楊辰在一家IT企業(yè),任職主程一職,正是三十歲的黃金年紀(jì),底薪五萬(wàn),在加上項(xiàng)目獎(jiǎng)金,月薪十萬(wàn)打底,三四天的工作實(shí)效,價(jià)值一萬(wàn)左右。
然而,這個(gè)闖關(guān)系統(tǒng)的開(kāi)發(fā)者,在注冊(cè)的時(shí)候,讓他們預(yù)先簽署了免責(zé)協(xié)議。
也就是說(shuō),如果自己免費(fèi)幫寫了這些功能需求,那么,這個(gè)系統(tǒng)設(shè)計(jì)者就能免費(fèi)使用他創(chuàng)作的代碼。
媽的!居然白漂他的勞動(dòng)果實(shí)。
這套闖關(guān)系統(tǒng)是誰(shuí)開(kāi)發(fā)的,太精明了。
老子不玩了!
想通這一點(diǎn),楊辰氣急敗壞地將鼠標(biāo)甩出去,憤恨難平。
然而,丟掉鼠標(biāo)沒(méi)多久,楊辰死死盯著第十一關(guān)的題目,心癢難耐。
非常好奇,到底是什么算法提示,才能解開(kāi)這道算法題目。
之前學(xué)到的那個(gè)多核算法,對(duì)他的幫助不小,以后許多程序都能用上。
如果又是一項(xiàng)新算法。
就這么白白錯(cuò)過(guò),豈不是很可惜?
還有沒(méi)有其它的方法能獲得一次技術(shù)支持。
楊辰想了想,點(diǎn)開(kāi)另一個(gè)獲得理論支持的功能:協(xié)助審批程序。
協(xié)助審批程序打開(kāi),赫然便是協(xié)助寫編程需求的內(nèi)容,只不過(guò),不是編寫,而是協(xié)助審批那些功能編寫者的內(nèi)容。
目前,內(nèi)容是空的,不過(guò)有一個(gè)審批排行榜。
楊辰稍微一想,便明白了這項(xiàng)功能的用途,又是打著白嫖其它挑戰(zhàn)者勞動(dòng)力的主意。
開(kāi)發(fā)這個(gè)系統(tǒng)的設(shè)計(jì)者,心思大大的狡猾,老子偏不上這個(gè)當(dāng)。
楊辰氣急敗壞的關(guān)掉電腦,眼不看為凈。
然而,沒(méi)過(guò)多久,楊辰又扔掉了手機(jī),一臉無(wú)奈地坐到電腦桌前。
太難受了,那個(gè)算法題目一直盤繞在楊辰的腦海。
感受到多核算法的妙處,面對(duì)新算法邏輯的吸引,沒(méi)有任何用心鉆研新技術(shù)者,能夠承受得起這個(gè)誘惑。
渴望學(xué)得新算法的楊辰,急不可耐地打開(kāi)那個(gè)關(guān)卡挑戰(zhàn)系統(tǒng)。