记录一些刷算法题中的常用C++语法。
STL相关
向量Vector
头文件:#include <vector>
初始化:vector <数据类型> 变量名 (长度,初始化值)
赋值初始化:vector <数据类型> 变量名 = {1,2,3,4,5}
可以作为数组
数组开头:array.begin()
数组结尾:array.end()
数组大小:array.size()
添加元素到尾部:array.push_back(x)
删除元素:
函数传参引用:vector<int>& array
集合Set
初始化:unordered_set<int> s;
可以作为哈希表:拥有去重的特性,增insert()
、删erase()
、查find()
复杂度与哈希表相同,均为O(1)。
Map
可以作为计数器:unordered_map<int, int> count
C++语法相关
循环遍历
for (int x: nums)
for(auto & i : t)