刷题工具h

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;
    
}

面试题 17.16. 按摩师

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;
    }
};
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值