目录
- 前言
- C++
- 判断
- 判断字符是否为大/小写
- 判断是否为字符
- 判断是否为数字
- 判断是否为字符和数字
- 转换
- 字符转为大/小写
- char 转 int
- **转string
- vector
- vector求和
- vector 二维数组 求行最大/小值
- vector中查找最大/小值
- vector 清空vector
- 合并两个vector
- 移除vector最后一个元素
- at()
- queue
- queue 查询队列大小
- deque 双端队列
- priority_queue 优先队列
- unordered_set
- A/B 向上取整
- nth_element()
- String
- find()
- 字符串转int
- find_first_of & find_last_of
- 字符串中查找一个字符
- 截取字符串:substr
- 去掉字符串最后一个字符
- 构造函数
- Python3
- enumerate
前言
哎,有时需要使用到一个函数时,老是想不起来
每次都需要重新查找,浪费一些时间
还是用篇博客记录一下吧 减少重复浪费的时间
C++
判断
判断字符是否为大/小写
- isupper()
- islower()
判断是否为字符
- isalpha()
判断是否为数字
- isdigit()
isdigit(char c)
判断是否为字符和数字
- isalnum()
转换
字符转为大/小写
- toupper()
- tolower()
char 转 int
char c
int(c) / c - '0' (为数字时)
**转string
- to_string()
vector
vector求和
- accumulate()
int ans = accumulate(a.begin(), a.end(), 0);
vector 二维数组 求行最大/小值
- *max_element()
- *min_element()
vector中查找最大/小值
- *max_element()
- *min_element()
vector 清空vector
- clear()
合并两个vector
- insert()
// 在ans后面添加vector tmp
ans.insert(ans.end(), tmp.begin(), tmp.end());
// 或者
v3.resize(v1.size()+v2.size());//合并前需要准备空间 合并v1 和 v3 结果放在v3中
merge(v1.begin(), v1.end(), v2.begin(), v2.end(), v3.begin());
printVector(v3);//1 1 2 3 4 4 5 5 6 7
vector<int> v4;//使用back_inserter不用提前准备空间 合并v1 和 v3 结果放在v4中
merge(v1.begin(), v1.end(), v2.begin(), v2.end(), back_inserter(v4));
移除vector最后一个元素
- pop_back()
vector<int> a
a.pop_back()
at()
queue
queue 查询队列大小
- queue.size()
deque 双端队列
priority_queue 优先队列
priority_queue<int,vector<int>,greater<int> > a;
or
priority_queue<int,vector<int>,less<int> > a;
unordered_set
- s.insert()
- s.emplace()
- s.find()
- s.end()
- s.count()
A/B 向上取整
1.0 == 1
1.1 == 2
1.6 == 2
…
ans = (A + B - 1 ) / B
nth_element()
大概意思就是快速排序,使得左边的数都小于设定idx,右边的数都大于idx对应的数(排序后),可以用于查找第几大的值(在一个数组中)
String
find()
string s = "hello world!";
if (s.find("a") == s.npos) {
cout << "404 not found" << endl;
}
字符串转int
- stoi()
find_first_of & find_last_of
找字符串中第一个字符的index
int index1 = s.find_first_of(":");
int index2 = s.find_last_of(":");
字符串中查找一个字符
string s
char c
s.find(c) == string::npos
s.find(c) != string::npos
截取字符串:substr
substr(start, length)
#include <iostream>
using namespace std;
int main()
{
string s = "abcdefg";
// 从坐标0开始 截取长度为1的字符串
string s1 = s.substr(0,1);
string s2 = s.substr(0,2);
// 从坐标1开始 截取长度为3的字符串
string s3 = s.substr(1,3);
string s4 = s.substr(1,4);
// 从坐标为1开始 截取剩下的字符串
string s5 = s.substr(1);
cout << "s1 = " << s1 << endl;
cout << "s2 = " << s2 << endl;
cout << "s3 = " << s3 << endl;
cout << "s4 = " << s4 << endl;
cout << "s5 = " << s5 << endl;
return 0;
}
去掉字符串最后一个字符
构造函数
参考:http://c.biancheng.net/view/1443.html
Python3
enumerate
a = [10,20,30,40,50]
for index, num in enumerate(a):
print("index = {}, num = {}".format(index, num))