C++常用的标准库函数
algorithm
#include<algorithm>
//第一个函数,获取容器的最大值和最小值,
max_element()
min_element()
//返回的是一个指针,如果返回值的话,需要*max_element 进行解引用
count(iter1,iter2,value)函数返回整型的数字用于计数
distance(iter1,iter2)
// 排序算法
sort(iter1,iter2,bool),0代表顺序排序,1反之
reverse(iter1,iter2)
for_each(cbegin(v),cend(v),[](const auto&x){cout<<x<<",";})
#include<bits/stdc++.h>//万能头文件
using namespace std;
int main(){
vector<int> vec(5,6);
vector<int> vec1{
4,6,7,8,8};
//返回的是对应的地址
auto i = max_element(vec1.begin(),vec1.end());
//输出最大值的第一个位置
cout<<"最大值是:"<< distance(vec1.begin(),i);
auto j = *min_element(vec1.begin(),vec1.end());
int n = count(vec.begin(),vec.end(),6);
string s = "aaabcdaaa!!!";
int cnt= count(s.begin(),s.end(),'b');
//最大值对应的地址是:
//cout<<i<<endl;
//最小值对应的数字是
cout<<j<<endl;
//输出对应的个数是
cout<<n<<endl;
//输出数组,装逼专用
for_each(cbegin(vec1),cend(vec1),[](const auto&x){
cout<<x<<",";});
for_each(vec1.begin(),vec1.end(),[](const auto&x){
cout<<x<<",";});
cout<<"wpf!!!"<<endl;
return 0;
}
class Solution {
public:
int massage(vector<int>& nums) {
vector<vector<int>> vec(nums.size(),vector<int>(2));
if(nums.size() == 0) return 0;
vec[0][0] = 0;
vec[0][1] = nums[0];
int max0 = nums[0];
for(int i = 1;i<nums.size();i++){
vec[i][0] = max(vec[i-1][0],vec[i-1][1]);
vec[i][1] = vec[i-1][0]+nums[i];
vector<int> T{
vec[i][0],vec[i][1],max0};
max0 = *max_element(cbegin(T),cend(T));
}
return max0;
}
};