test

3.1.4.6 insert

v.insert(v.begin(),8);//在最前面插入新元素。
v.insert(v.begin()+2,1);//在迭代器中第二个元素前插入新元素
v.insert(v.end(),3);//在向量末尾追加新元素。
v.insert(v.end(),4,1);//在尾部插入4个1
3.1.4.8 erase

vector::erase方法,返回值是更新后的容器的被删除元素的后一个元素的迭代器,如果需要指向删除元素的前面一个元素的迭代器就要-1

 

https://yncoders.com/show/1249

https://blog.csdn.net/zhangweijiqn/article/details/9107571

https://blog.csdn.net/sandalphon4869/article/details/98209093

https://blog.csdn.net/lytwy123/article/details/84503492

https://blog.csdn.net/sevenjoin/article/details/81937695

https://blog.csdn.net/sevenjoin/article/details/88420885


// 自定义比较函数
static bool custom_compare(const std::tuple<std::string, int, int> &a, const std::tuple<std::string, int, int> &b)
{
// 按照第三个元素降序
if (std::get<2>(a) != std::get<2>(b)) {
return std::get<2>(a) > std::get<2>(b);
}
// 如果第三个元素相同,按照第一个元素字母序升序
if (std::get<0>(a) != std::get<0>(b)) {
return std::get<0>(a) < std::get<0>(b);
}
// 如果前两个元素都相同,按照第二个元素升序
return std::get<1>(a) < std::get<1>(b);
}

vector<tuple<string, int, int>>

https://wenku.csdn.net/answer/ade81a36e54411edbcb5fa163eeb3507

https://blog.csdn.net/test1280/article/details/65937779

https://blog.csdn.net/qq_28180261/article/details/53840627

 

#include <vector>
#include <utility>
#include <algorithm>
#include <map>

using namespace std;

bool compare(const pair<int, int> &a, const pair<int, int> &b) {
    return a.second > b.second;
}

class Solution {
public:
    vector<int> topKFrequent(vector<int>& nums, int k) {
        map<int,int> mp{};
        for(auto n:nums){
            mp[n]++;
        }
       
        vector<pair<int, int>> vec(mp.begin(), mp.end());
       
        // 根据频率排序
        sort(vec.begin(), vec.end(), compare);
       
        vector<int> res(k);
        for (int i = 0; i < k; ++i) {
            res[i] = vec[i].first;
        }
       
        return res;
    }
};

https://blog.csdn.net/helldoger/article/details/129641179

posted @ 2024-07-25 10:29  ImreW  阅读(2)  评论(0编辑  收藏  举报