Algorithm: 每周至少做一個(gè) LeetCode 的算法題
LeetCode 435 無(wú)重疊區(qū)間
使用貪心算法解決
貪心算法: 如果局部最優(yōu)能夠推導(dǎo)出全局最優(yōu), 且找不出反例, 即可基本確定使用貪心算法
兩數(shù)之和, 三數(shù)之和, 買(mǎi)賣(mài)股票的最佳時(shí)機(jī)(1)(2),
Review: 閱讀并點(diǎn)評(píng)至少一篇英文技術(shù)文章
Tips: 學(xué)習(xí)至少一個(gè)技術(shù)技巧
Swift 中枚舉高級(jí)用法及實(shí)踐
1 嵌套枚舉: 枚舉中有枚舉
2 為枚舉的 case 添加更多信息: 關(guān)聯(lián)值
3 枚舉中如果定義了關(guān)聯(lián)值, 則不可以再設(shè)置原始值?
A Swift enum can either have raw values or associated values.
Implementing this value is really simple: You just add a computed property to your enum and return a different value for each case.
參考: Why Swift Enums with Associated Values Cannot Have a Raw Value
4 枚舉中的方法為每一個(gè)enum case而“生”。所以倘若想要在特定情況執(zhí)行特定代碼的話,你需要分支處理或采用switch語(yǔ)句來(lái)明確正確的代碼路徑幻妓。
5 為枚舉添加方法: 要區(qū)分是否是為所有 case 添加, 還是為單獨(dú)的 case 添加
6 一旦我們?yōu)槊杜e增加了關(guān)聯(lián)值评肆,Swift 就沒(méi)有辦法正確地為兩個(gè)枚舉進(jìn)行相等性判斷漓雅,需要我們自己實(shí)現(xiàn) == 運(yùn)行符
Share: 分享一篇有觀點(diǎn)和思考的技術(shù)文章
React.js 小書(shū)學(xué)習(xí)中, 可以基于 TypeScript 實(shí)現(xiàn)評(píng)論區(qū)組件.