進(jìn)入簡書的第一天
????今天通過和劉兄交流,深感堅(jiān)持寫博客不僅可以提升自己的寫作能力,還可以總結(jié)每天學(xué)習(xí)的東西,記錄自己對于生活的感悟,以后回過頭來看自己前一階段所學(xué)所思實(shí)是一種樂趣。
????因此,我腦海中產(chǎn)生一個大膽的想法,堅(jiān)持每天記錄博客,記錄自己的每天所學(xué)所思所得。盡量做到細(xì)致,就算再沒時(shí)間每天也要堅(jiān)持寫三五十個字。這對我本人是一個不小的挑戰(zhàn),因?yàn)槲液茈y長時(shí)間堅(jiān)持做一件事情- -,也許是星座的原因(據(jù)說雙子座經(jīng)精力不容易集中。哈哈,無情甩鍋)。
????每天的記錄從兩個方面進(jìn)行:
- 對于今日所學(xué)所思進(jìn)行總結(jié)
- 對于明天學(xué)習(xí)生活的作一個簡單計(jì)劃
等以后寫作技巧漸漸純熟,我會嘗試開辟專欄來對特定方面的技術(shù)進(jìn)行連載(哈哈,前提日報(bào)能堅(jiān)持下來~)
今日總結(jié)
????今天學(xué)習(xí)方面主要是編程。在leetcode(力扣)網(wǎng)站上刷了五道編程題。
- 第K個排列 (middle)
- 旋轉(zhuǎn)鏈表 (middle)
- 不同路徑II (middle)
- 最小路徑和 (middle)
- 有效數(shù)字 (hard)
????“第K個排列”用到一個非常強(qiáng)的技巧,稱之為階乘數(shù)系統(tǒng)方法。其數(shù)學(xué)原理就是排列的每種情況都可以用十進(jìn)制或二進(jìn)制表示,在十進(jìn)制和二進(jìn)制無法滿足解空間數(shù)量時(shí),甚至可以使用階乘數(shù)系統(tǒng)(即N!)。這種方法可以精確的計(jì)算出排列中第k大的組合。相比先列出全排列再排序,時(shí)間復(fù)雜度從O(N^N) 下降到了O(N^2)??梢妰?yōu)化一個算法的非常有效的方法是從數(shù)學(xué)上去優(yōu)化。順便復(fù)習(xí)一下全排列的實(shí)現(xiàn)方法(回溯法)。下次學(xué)習(xí)一下生成全排列的字典序方法。
????“旋轉(zhuǎn)鏈表”相對常規(guī),遍歷鏈表兩次,第一次計(jì)算其長度并將其首尾相連,第二次在指定位置將鏈表斷開即可,注意使用k%N減少遍歷長度。
????不同路徑II”和“最小路徑和”是簡單的動態(tài)規(guī)劃問題,最優(yōu)子結(jié)構(gòu)很容易看出。這里我出了一個很簡單卻很致命的錯誤,查了好久才查出來,僅此記錄:
#test.py
for i in len(nums): //錯誤
for i in range(len(nums)): //正確
????“有效數(shù)字” 這一道題可以采用常規(guī)的正則表達(dá)式法,還有一個非常騷的操作:采用《編譯原理》里的確定有限狀態(tài)機(jī)(DFA)解決。仔細(xì)閱讀官方題解深感DFA方法精妙,舉一反三也可以應(yīng)用到其他問題上,后面有機(jī)會將對其進(jìn)行深入剖析,這里不再贅述(第一次寫,寫到這已經(jīng)花了1個多小時(shí),哭)。
????這兩天在家又刷了一遍經(jīng)典西游記,看到真假美猴王一集,如來佛祖稱其用金缽罩住的是六耳獼猴。我腦洞大開,會不會被罩住的才是真正的孫悟空,后來陪唐僧取經(jīng)的是六耳獼猴,這其實(shí)是一次陰謀的除掉孫悟空的行動?哈哈,純屬個人胡亂猜測。
明天計(jì)劃
????明天進(jìn)入工作日,結(jié)束兩天輕松生活開始工作:
- 繼續(xù)編程,在LeetCode上刷7道題并總結(jié)(3道算法題,3道SQL題,1道Shell題)
- 復(fù)習(xí)Python的高級特性(metaclass、裝飾器、偏函數(shù)等)
- 和劉兄討論微信小程序開發(fā)計(jì)劃,并著手開發(fā)(交互式問卷系統(tǒng),修復(fù)公眾號代碼)
- 堅(jiān)持記錄博客,提高寫作效率,優(yōu)化內(nèi)容,爭取每天花費(fèi)時(shí)間在一個小時(shí)內(nèi)
就這樣吧~