每週學算法/讀英文/知識點心得分享 8.11

 每週一個 Algorithm,Review 一篇英文文章,總結一個工作中的技術 Tip,以及 Share 一個傳遞價值觀的東西!

寫在前面的話。不知不覺已經落下ARTS的操練快五個月了,期間經歷了辭職、賦閒在家、找新工作、搬新家等階段,到今天算是入職新公司兩個月。

之所以重新想起來要繼續操練,主要是我在耗子叔的羣裏看到有人堅持完成了一年的練習。這激發了我,讓我有種要重新撿起來的衝動。

操練身體,操練敬虔,操練技術,任何一樣堅持都會面對想要放棄的念頭。我想最怕的不是停歇,而是就此止步了,而整裝上陣,或許會是一個新的起點....

 

Algorithm: 學習算法

題目:38. 報數

描述:報數序列是一個整數序列,按照其中的整數的順序進行報數,得到下一個數。其前五項如下:

1.     1
2.     11
3.     21
4.     1211
5.     111221

1 被讀作  "one 1"  ("一個一") , 即 11。
11 被讀作 "two 1s" ("兩個一"), 即 21。
21 被讀作 "one 2",  "one 1" ("一個二" ,  "一個一") , 即 1211。

給定一個正整數 n(1 ≤ n ≤ 30),輸出報數序列的第 n 項。

注意:整數順序將表示爲一個字符串。

 

解題過程:相對簡單的題,不需要特別的算法知識,找到規律即可。基本上就是遍歷字符串,記錄字符以及重複出現的次數,然後轉化爲一個二位數。另寫一個函數即可。

解法:https://leetcode.com/submissions/detail/250705719/

 

Review: 學習英文

題目: 技術債務的隱喻

馬丁大叔於2003年首次寫下這篇文章,最近重寫一遍,發表在個人博客上。

技術債務,作爲一個隱喻,代表的是軟件中的缺陷。這些缺陷由不太關心質量的程序員在做出改動時被引入到系統中, 分佈在各處,會給未來的軟件變動帶來額外的開銷,就好像財務負債裏要還的利息一樣。

他給出的建議是,就像我們對待財務負債那樣,一次償還一部分。在變更的地方,花少部分時間,先把那些有缺陷的代碼移除,引入更適合的結構。這樣做的好處是,越是變更頻繁的地方,有缺陷的代碼就會消失越快,而那些穩定的問題代碼則會被保留下來,不需要大力氣去改動。

對我的啓發是,下次開發軟件代碼時,如果遇到技術債務,先償還一部分,不用帶着很大壓力去做大改動。

Tips: 知識點

 常用緩存更新的套路:

失效: 程序從緩存中取數據,緩存沒有,從數據庫取數據,成功後放到緩存中。

命中:程序從緩存中取數據,返回

更新:程序先更新數據庫數據,成功後,失效緩存數據

 

 

 

Share: 價值觀

 無

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章