Algorithm。主要是為了編程訓(xùn)練和學(xué)習(xí)。每周至少做一個(gè) leetcode 的算法題(先從Easy開始,然后再M(fèi)edium,最后才Hard)。進(jìn)行編程訓(xùn)練,如果不訓(xùn)練你看再多的算法書,你依然不會(huì)做算法題,看完書后,你需要訓(xùn)練。關(guān)于做Leetcode的的優(yōu)勢(shì),你可以看一下我在coolshell上的文章 Leetcode 編程訓(xùn)練 - 酷 殼 - CoolShell。
Review:主要是為了學(xué)習(xí)英文,如果你的英文不行,你基本上無緣技術(shù)高手。所以,需要你閱讀并點(diǎn)評(píng)至少一篇英文技術(shù)文章,我個(gè)人最喜歡去的地方是http://Medium.com(需要梯子)以及各個(gè)公司的技術(shù)blog,如Netflix的。
Tip:主要是為了總結(jié)和歸納你在是常工作中所遇到的知識(shí)點(diǎn)。學(xué)習(xí)至少一個(gè)技術(shù)技巧。你在工作中遇到的問題,踩過的坑,學(xué)習(xí)的點(diǎn)滴知識(shí)。
Share:主要是為了建立你的影響力,能夠輸出價(jià)值觀。分享一篇有觀點(diǎn)和思考的技術(shù)文章。
Algorithm
羅馬數(shù)字包含以下七種字符:
I,V,X,L,C,D和M。字符 數(shù)值 I 1 V 5 X 10 L 50 C 100 D 500 M 1000例如, 羅馬數(shù)字 2 寫做
II,即為兩個(gè)并列的 1。12 寫做XII,即為X+II。 27 寫做XXVII, 即為XX+V+II。通常情況下,羅馬數(shù)字中小的數(shù)字在大的數(shù)字的右邊。但也存在特例,例如 4 不寫做
IIII,而是IV。數(shù)字 1 在數(shù)字 5 的左邊,所表示的數(shù)等于大數(shù) 5 減小數(shù) 1 得到的數(shù)值 4 。同樣地,數(shù)字 9 表示為IX。這個(gè)特殊的規(guī)則只適用于以下六種情況:
I可以放在V(5) 和X(10) 的左邊,來表示 4 和 9。X可以放在L(50) 和C(100) 的左邊,來表示 40 和 90。C可以放在D(500) 和M(1000) 的左邊,來表示 400 和 900。給定一個(gè)羅馬數(shù)字,將其轉(zhuǎn)換成整數(shù)。輸入確保在 1 到 3999 的范圍內(nèi)。
示例 1:
輸入: "III" 輸出: 3示例 2:
輸入: "IV" 輸出: 4示例 3:
輸入: "IX" 輸出: 9示例 4:
輸入: "LVIII" 輸出: 58 解釋: L = 50, V= 5, III = 3.示例 5:
輸入: "MCMXCIV" 輸出: 1994 解釋: M = 1000, CM = 900, XC = 90, IV = 4.
class Solution:
def romanToInt(self, s: str) -> int:
data = {"I": 1, "V": 5, "X": 10, "L": 50, "C": 100, "D": 500, "M": 1000}
num = 0
for i in range(len(s)):
if i < len(s) - 1 and data[s[i]] < data[s[i + 1]]:
num -= data[s[i]]
else:
num += data[s[i]]
return num
- 首先使用字典來列出字符串對(duì)應(yīng)的數(shù)字大小
- 假設(shè)每一位都代表一個(gè)數(shù)字,那么肯定是按照映射關(guān)系從大到小排列。
- 實(shí)際上存在兩個(gè)字母組成的內(nèi)容,且兩者的差值為較小值
所以只要遍歷輸入的字符串,當(dāng)它不是最后一位的時(shí)候判斷一下它是否小于它的后一位。
如果小于,則總數(shù)減去它;
如果大于,則總數(shù)加上它;
Review
Time Is Your Most Valuable Resource
Make sure everything you do is helping you achieve your most important goals
If you have a hard time saying no, or a hard time prioritizing your tasks, you are guaranteed to drown.
Your time is your most valuable resource. You can’t make more. You can’t pause it. You can only allocate it.
Realize that business as usual won’t work
Delegating is a gift with two recipients.
You get more time, and someone else gains valuable experience.
It has limited return on investment, because you’re swapping one item for another.

Tip
正在閱讀《Jenkins 2 權(quán)威指南》準(zhǔn)備使用Jenkinsfile來進(jìn)行流水線代碼迭代
期望解決之前每次更新都需要手動(dòng)調(diào)整代碼,修改WEB GUI上的內(nèi)容的情況。
不過采用Json Schema編寫的了Extended Choice Parameter后,暫時(shí)不知道如何進(jìn)行腳本化的轉(zhuǎn)換。

Share
- 最近很喜歡前端知識(shí),但是沒有太多精力投入,實(shí)現(xiàn)了一個(gè)簡單的例子
- 工作采用pytest,所以之前閱讀了元組之后想要試驗(yàn)一下python代碼塊的概念,寫了一個(gè)簡單的demo
歡迎關(guān)注我的公眾號(hào):zx94_11