1. for循环容易忘记break,很多提交不过,都是因为这个
2. 左右指针,思考起来比较复杂,但是以代码容易理解、code精简为主,不要在乎省下一两次运算时间
3. 左右指针,有时候以left <= right为结束条件,可以规避很多边界条件的特殊处理,比如“论文的引用指数h的计算”
4. 假如存在取余的mod,使用常量定义出来:
static constexpr int mod = 1'000'000'007;
5.
6. map如何添加元素?
map<string, int> mapValue;
① mapValue[key] = value
注意,假如是vector是不可以在没有申请元素的情况下,直接使用下标取值的,但是map可以!
② mapValue.insert(make_pair(key, value))
mapValue.insert(pair<string, int>(key, value))
注意,一定要使用make_pair组合成一个pair才可以insert!
第二行的pair用法比较麻烦,可以不用记,只需要记住make_pair就行了!
7. 二维数组如何初始化?
想要设置row行 column列的二维整型数组:vector<vector<int>> vec(row, vector<int>(column));
假如我们想要定义指定大小的一维数组:vector<int> vec(nums),
上面二维数组的定义表示由row个大小为column的vector。