leetcode開篇

zanglengyu發表於2020-10-14

從12年參加工作到現在,3年C++,3年C#,半年java,半年JS,一年閒逛。亂七八糟的類庫框架,引擎什麼的都接觸了不少。年齡也不小了。前一陣子轉了後端,最近時間比較閒,實在是閒。

 

不知道從哪方面入手提高了,感覺自己什麼都會,又什麼都不會!基本上都是跟著公司需求走,以前基礎不好,沒能進入大公司。在小公司也算混得風生水起,閒來無事,玩玩leetcode吧。

 

說實在的,不知道選什麼語言用作刷題的語言,還在糾結是用java還是用c++,還是用c#或者是js。想了想還是用最初學習的語言吧。或許這就是初次的感覺!

 

現在c14的標準都出了,甚至C17的標準,C20也出了。C++已經成了無比臃腫的類庫,和相當複雜的語法。這些也不想去做深入的瞭解。雖說C++已經多年不用了,但如果只是刷題,搞搞資料結構什麼的,撿起來應該多大問題。

8年裡,有太多的話題故事可以聊騷,從叱吒風雲的C++大俠,到不得不倒向unity開發並使用C#,又從C#折騰到微信小遊戲,搞了半年js。遊戲行業版號定生死,很不幸我們也是其中的一員,最後不得不轉向java後端開發,淪為了java服務端的新手小弟,其中滋味五味雜陳。

 

對比使用過的三種語言,我個人感覺C#用起來很舒服。如果用女人來打比方的話,C++像是一個有脾氣的仙女,你要駕馭的好,她能讓你飄飄欲仙,欲罷不能,榨得一滴都不剩。很適合浪蕩不羈愛自由的習慣。駕馭的不好,那可有得受了,很難找到G點。

java像是一個已婚少婦,迷人又讓人陶醉,她會帶你去你想去的地方,教你輕鬆上手,你只需要跟著她走就行了。

C#更和java很像,但更像是初戀的感覺。那種即刺激,又找到初戀的感覺最讓人驚喜!

 

不管咋樣,C++的發展趨勢其實已經在向C# java的語法靠攏,提供協程 auto,foreach,匿名函式,import等等等等以往不存在的語法結構。

 

leetcode也是最近才接觸的,已經多年不投簡歷找工作了,只是對ACM略有耳聞,原本打算搞搞ACM,但最後看到了leetcode。先從leetcode搞起!

 

由於資料結構和演算法已經忘的差不多了,所以要做些基本的準備工作。像二分查詢,多種排序演算法。自造連結串列,自造佇列,自造堆疊,樹,圖,hash表,分治法,回溯,搜尋,動態規劃等等。都需要再次熟悉一遍。

 

特別是樹,二叉樹,紅黑樹,B+樹,B-樹,這些當時都沒怎麼徹底整明白,我的頭還不夠禿,現在是時候弄弄明白了!在我的印象裡,排序,折半查詢,廣度搜尋,深度搜尋,遞迴,回溯,分治,動態規劃,都還好。主要是對樹的感念有些抽象,沒有深刻的理解。所以說玩leetcode得先把上面這些資料結構過一遍,一些常用是演算法過一遍。

 

這些玩一遍,再去整leetcode會順暢一些,不至於來回橫跳。

相關文章