手機(jī)leetcode怎么做題 有個(gè)程序員同事最近總是做leetcode習(xí)題,還看一些基礎(chǔ)的知識(shí),說(shuō)明什么?
有個(gè)程序員同事最近總是做leetcode習(xí)題,還看一些基礎(chǔ)的知識(shí),說(shuō)明什么?意思是他想跑。刷leetcode需要哪些基礎(chǔ)?假設(shè)我認(rèn)為該科目是非CS專(zhuān)業(yè)的學(xué)生,那么我將從這里開(kāi)始。先聯(lián)系你選擇一種編程語(yǔ)
有個(gè)程序員同事最近總是做leetcode習(xí)題,還看一些基礎(chǔ)的知識(shí),說(shuō)明什么?
意思是他想跑。
刷leetcode需要哪些基礎(chǔ)?
假設(shè)我認(rèn)為該科目是非CS專(zhuān)業(yè)的學(xué)生,那么我將從這里開(kāi)始。
先聯(lián)系你選擇一種編程語(yǔ)言,C Java Python就可以了,然后掌握它的基本代碼規(guī)范,你可以試著把書(shū)上的代碼敲到你覺(jué)得自己已經(jīng)掌握的地步
然后找一本數(shù)據(jù)結(jié)構(gòu)的書(shū)來(lái)讀,推薦一本“大化數(shù)據(jù)結(jié)構(gòu)”,它通俗易懂,很幽默。如果你不明白,你可以去一些谷歌博客或者互聯(lián)網(wǎng)上的報(bào)紙上閱讀,最好是手動(dòng)模擬。
您還可以在每次查看問(wèn)題時(shí)刷下相應(yīng)的部分。如何做到這一點(diǎn)取決于你。
當(dāng)你刷的問(wèn)題,你可能會(huì)發(fā)現(xiàn)它很難在一開(kāi)始就沒(méi)有想法。在這個(gè)時(shí)候,你可以去谷歌學(xué)習(xí)一些大人物的源代碼。網(wǎng)上有很多,很容易找到。起初,進(jìn)展是緩慢的,但只要我們堅(jiān)持下去,我們就會(huì)慢慢改進(jìn)。
事實(shí)上,你越晚刷問(wèn)題,你會(huì)發(fā)現(xiàn)你訓(xùn)練的是你自己的想法。當(dāng)你遇到問(wèn)題時(shí),你會(huì)發(fā)現(xiàn)你有想法。這是成功的,所以你應(yīng)該從一開(kāi)始就多想想。
有編程基礎(chǔ),辭職每天自學(xué)四小時(shí)編程,做git項(xiàng)目,刷leetcode。會(huì)比大廠在職的程序員成長(zhǎng)慢嗎?
會(huì)很慢的。紙上會(huì)很輕的。更不用說(shuō)大工廠了,它們可能比不上許多學(xué)習(xí)氛圍較好的中小企業(yè)。只有做商業(yè)項(xiàng)目才能了解用戶(hù)的需求,只有把技術(shù)應(yīng)用到實(shí)踐中才能知道突破點(diǎn)在哪里。
閉門(mén)造車(chē)只是原地踏步。如果它是一個(gè)主編碼器,它可能仍然工作。但說(shuō)到中高級(jí),不僅僅是寫(xiě)代碼。之后,您需要了解設(shè)計(jì)模式、跨部門(mén)溝通,甚至在甲方提出需求時(shí)挖掘潛在需求。這樣,你就不需要整天改變需求。
那么,如果我們想深入技術(shù)領(lǐng)域,除了建筑師,還有流行的人工智能行業(yè)。這是一條新的先進(jìn)路線(xiàn)。許多人說(shuō)學(xué)習(xí)人工智能意味著改變職業(yè)。事實(shí)上,不是。我以前的目標(biāo)是成為一名建筑師。后來(lái),我從坑里出來(lái)了。
人工智能的核心是算法。算法是一個(gè)智能程序。我們從事項(xiàng)目開(kāi)發(fā)。我覺(jué)得這是我們技術(shù)的另一個(gè)方向。
你知道我為什么有時(shí)間在頭條和問(wèn)答上和你聊天嗎?因?yàn)楫?dāng)我訓(xùn)練模型時(shí),我可以自由移動(dòng)。建立一個(gè)模型需要幾百行代碼,然后我只看一下計(jì)算機(jī)訓(xùn)練模型。
如果你有一個(gè)小弟弟想向這個(gè)方向發(fā)展,你可以私下和我談?wù)?。我?huì)告訴你我的登陸經(jīng)驗(yàn)
我能在leetcode上完成1000多個(gè)問(wèn)題真是太神奇了,至少我周?chē)鷽](méi)有認(rèn)識(shí)的人。我們大多數(shù)人從幾十歲到幾百歲不等。只要你真正理解了這些題目的思路,我想你的理解能力和分析能力一定會(huì)有很大的提高。首先,在實(shí)踐中,你必須有足夠的能力來(lái)編寫(xiě)業(yè)務(wù)代碼,并且你可以在面試中輕松地編寫(xiě)算法問(wèn)題。但除了算法之外,操作系統(tǒng)、數(shù)據(jù)庫(kù)、計(jì)算機(jī)網(wǎng)絡(luò)、框架技術(shù)等也非常重要。此外,還要根據(jù)工作方向繼續(xù)深入研究。
刷完算法導(dǎo)論和leetcode,能找到什么水平的工作?
在前一段時(shí)間,我一直認(rèn)為引入C編程語(yǔ)言是一個(gè)非常好的選擇。其實(shí)C語(yǔ)言更適合初學(xué)者學(xué)習(xí)。
對(duì)于C語(yǔ)言學(xué)習(xí),我建議您查看郝斌的C語(yǔ)言課程。解釋得很詳細(xì)。我學(xué)習(xí)了這個(gè)教程。
如果您使用python,入門(mén)也是一個(gè)不錯(cuò)的選擇。
Java是迄今為止使用最多的語(yǔ)言。今天我覺(jué)得可以用java開(kāi)始了。但是,要開(kāi)始學(xué)習(xí),您必須只選擇學(xué)習(xí)面向?qū)ο笄懊娴闹R(shí)。如果初學(xué)者一起加入面向?qū)ο蟮膶W(xué)習(xí)。你會(huì)發(fā)現(xiàn)你可以崩潰。
只有完成面向?qū)ο蟮娜^(guò)程后,非常熟悉,才能進(jìn)行面向?qū)ο蟮膶W(xué)習(xí)。
如果您有任何問(wèn)題,請(qǐng)指出。