网站建设代码怎么写广告竞价
资料:
1. 排序
sort(name.begin(),name.end()); //升序
sort(name.rbegin(),name.rend()); //降序
【C++】vector数组排序_vector排序_比奇堡咻飞兜的博客-CSDN博客
2. 把v2的部分值赋给v1
v1.assign(v2.begin(), v2.end()); // 用新元素替换
vector
中的元素。v1.swap(v2); // 交换两个
vector
的内容。
C++ 如何将一个vector内容赋值给另一个vector?(注意:auto是内存拷贝,没法改原值;auto&是引用,才能改原值)_vector赋值给另一个vector-CSDN博客
3. priority_queue优先队列
priority_queue<int> q; //默认降序排列,从大到小
q.top();
// queue是取.front() 和 .end()
// priority_queue是取.top()
priority_queue优先队列的使用方法_priority_queue用法-CSDN博客
自己写的:
- 窗口滑动
- 调用排序函数(采用)
class Solution {
public:/*** 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可** * @param input int整型vector * @param k int整型 * @return int整型vector*/vector<int> GetLeastNumbers_Solution(vector<int>& input, int k) {// write code herevector<int> res;sort(input.begin(),input.end());if(k != 0){res.assign(input.begin(), input.begin()+k);}return res;}
};
模板的:
采用窗口滑动。窗口内的四个数是到目前为止最小的四个数。
窗口采用堆的数据结构(即优先队列,priority_queue<int>)
class Solution {
public:/*** 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可** * @param input int整型vector * @param k int整型 * @return int整型vector*/vector<int> GetLeastNumbers_Solution(vector<int>& input, int k) {// write code herevector<int> res;if(k != 0){priority_queue <int> q;for(int i = 0; i < k; i++){q.push(input[i]);}for(int i = k; i < input.size(); i ++){if(input[i] < q.top()){q.pop();q.push(input[i]); } }for(int i = 0; i < k; i ++){res.push_back(q.top());q.pop();}}return res;}
};