Algorithm:每周至少做一个leetcode的算法题;
Review:阅读并点评至少一篇英文技术文章;
Tip/Techni:学习至少一个技术技巧;
Share:分享一篇有观点和思考的技术文章。
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.
解题思路:建立列表,一一对应。
代码实现:
1.python
2.c++
总结:一看到这个题就想到了用python来解,对比想来,不出意料,python确实比较方便快捷,以后做题也可多用python试试,不至于学了就忘qaq。
R
XcodeKit and Xcode Source Editor Extensions - NSHipster
介绍xcode编辑器,介绍其原编辑器扩展,提了一些发展建议,讲述特点及其注意事项
T
vector官网介绍传送vector - C++ Reference
vector 容器与数组相比其优点在于它能够根据需要随时自动调整自身的大小以便容下所要放入的元素。本质讲,vector使用动态分配数组来存储它的元素。
vector基本操作
(1). 容量
向量大小: vec.size();
向量最大容量: vec.max_size();
更改向量大小: vec.resize();
向量真实大小: vec.capacity();
向量判空: vec.empty();
减少向量大小到满足元素所占存储空间的大小: vec.shrink_to_fit(); //shrink_to_fit
(2). 修改
多个元素赋值: vec.assign(); //类似于初始化时用数组进行赋值
末尾添加元素: vec.push_back();
末尾删除元素: vec.pop_back();
任意位置插入元素: vec.insert();
任意位置删除元素: vec.erase();
交换两个向量的元素: vec.swap();
清空向量元素: vec.clear();
(3)迭代器
开始指针:vec.begin();
末尾指针:vec.end(); //指向最后一个元素的下一个位置
指向常量的开始指针: vec.cbegin(); //意思就是不能通过这个指针来修改所指的内容,但还是可以通过其他方式修改的,而且指针也是可以移动的。
指向常量的末尾指针: vec.cend();
(4)元素的访问
下标访问: vec[1]; //并不会检查是否越界
at方法访问: vec.at(1); //以上两者的区别就是at会检查是否越界,是则抛出out of range异常
访问第一个元素: vec.front();
访问最后一个元素: vec.back();
返回一个指针: int* p = vec.data();
在这里推荐一篇写的很详细的文章
C++中vector使用详细说明 (转) - aminxu - 博客园
S
讲析构函数的文章
An example of how C++ destructors are useful in Envoy - Julia Evans
推荐app