Algorithm:每周至少做一個(gè)leetcode的算法題;
Review:閱讀并點(diǎn)評(píng)至少一篇英文技術(shù)文章;
Tip/Techni:學(xué)習(xí)至少一個(gè)技術(shù)技巧;
Share:分享一篇有觀點(diǎn)和思考的技術(shù)文章。
A
題目:804. Unique Morse Code Words
題目要求:
International Morse Code defines a standard encoding where each letter is mapped to a series of dots and dashes, as follows:"a"maps to".-","b"maps to"-...","c"maps to"-.-.", and so on.
Return the number of different transformations among all words we have.
解題思路:建立列表,一一對(duì)應(yīng)。
代碼實(shí)現(xiàn):
1.python

2.c++

總結(jié):一看到這個(gè)題就想到了用python來(lái)解,對(duì)比想來(lái),不出意料,python確實(shí)比較方便快捷,以后做題也可多用python試試,不至于學(xué)了就忘qaq。
R
XcodeKit and Xcode Source Editor Extensions - NSHipster
介紹xcode編輯器,介紹其原編輯器擴(kuò)展,提了一些發(fā)展建議,講述特點(diǎn)及其注意事項(xiàng)
T
vector官網(wǎng)介紹傳送vector - C++ Reference
vector 容器與數(shù)組相比其優(yōu)點(diǎn)在于它能夠根據(jù)需要隨時(shí)自動(dòng)調(diào)整自身的大小以便容下所要放入的元素。本質(zhì)講,vector使用動(dòng)態(tài)分配數(shù)組來(lái)存儲(chǔ)它的元素。
vector基本操作
(1). 容量
向量大?。?vec.size();
向量最大容量: vec.max_size();
更改向量大?。?vec.resize();
向量真實(shí)大?。?vec.capacity();
向量判空: vec.empty();
減少向量大小到滿足元素所占存儲(chǔ)空間的大小: vec.shrink_to_fit(); //shrink_to_fit
(2). 修改
多個(gè)元素賦值: vec.assign(); //類似于初始化時(shí)用數(shù)組進(jìn)行賦值
末尾添加元素: vec.push_back();
末尾刪除元素: vec.pop_back();
任意位置插入元素: vec.insert();
任意位置刪除元素: vec.erase();
交換兩個(gè)向量的元素: vec.swap();
清空向量元素: vec.clear();
(3)迭代器
開(kāi)始指針:vec.begin();
末尾指針:vec.end(); //指向最后一個(gè)元素的下一個(gè)位置
指向常量的開(kāi)始指針: vec.cbegin(); //意思就是不能通過(guò)這個(gè)指針來(lái)修改所指的內(nèi)容,但還是可以通過(guò)其他方式修改的,而且指針也是可以移動(dòng)的。
指向常量的末尾指針: vec.cend();
(4)元素的訪問(wèn)
下標(biāo)訪問(wèn): vec[1]; //并不會(huì)檢查是否越界
at方法訪問(wèn): vec.at(1); //以上兩者的區(qū)別就是at會(huì)檢查是否越界,是則拋出out of range異常
訪問(wèn)第一個(gè)元素: vec.front();
訪問(wèn)最后一個(gè)元素: vec.back();
返回一個(gè)指針: int* p = vec.data();
在這里推薦一篇寫的很詳細(xì)的文章
C++中vector使用詳細(xì)說(shuō)明 (轉(zhuǎn)) - aminxu - 博客園
S
講析構(gòu)函數(shù)的文章
An example of how C++ destructors are useful in Envoy - Julia Evans
推薦app