算法题中用到的一些C++语句

遍历vector中的每一个元素

for(auto x : nums)

等价于

for(vector<int>::iterator iter = nums.begin();iter !=nums.end();iter++)

求vector求最大值,最小值和下标

vector最大值

int maxvalue = *max_element(v.begin(),v.end());

vector最小值

int minvalue = *min_element(v.begin(),v.end());

vector最大值坐标

int maxPosition = max_element(v.begin(),v.end())-v.begin();

vector最小值坐标

int minPosition = min_element(v.begin(),v.end())-v.begin();

vector所有元素求和

#include<numeric>
sum = accumulate(v.begin(),v.end(),0);

vector二维数组初始化大小

vector<vector<int>>number;
number.resize(10);//十行
for(int i=0;i<10;i++)number[i].resize(3);//三列

String类裁剪String

string s("12345abcd")
string a = s.substr(0,5);
string b = s.substr(1,5);
cout<<a<<endl;//a=12345
cout<<b<<endl;//b=2345a

异或运算符

^
例子:
1^0=1;
1^1=0;
0^1=1;
0^0=1;
只有两个都为真时,整个式子为假

判断一个char是否为字符或者数字

#include<ctype.h>
isalpha();
isdigit();

猜你喜欢

转载自blog.csdn.net/weixin_45976751/article/details/117551630