当前位置: 首页 > news >正文

【打卡】牛客网:BM46 最小的K个数

资料:

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博客

自己写的:

  1. 窗口滑动
  2. 调用排序函数(采用)
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;}
};

http://www.lryc.cn/news/227205.html

相关文章:

  • Android各类View触摸监听器失效
  • 未整理的知识链接
  • 【2011年数据结构真题】
  • 【科研绘图】MacOS上的LaTeX公式插入工具——LaTeXiT
  • 仓库自动化中的RFID技术的应用浅谈
  • 容器网络-Underlay和Overlay
  • 基于FPGA的PCIe-Aurora 8/10音频数据协议转换系统设计阅读笔记
  • stm32控制舵机sg90
  • state 和 props 有什么区别?
  • Unity 获取桌面路径的方法
  • 基于SSM的考研图书电子商务平台的设计与实现
  • 信息系统“好用”的标准探讨
  • vue elementui 实现从excel从复制多行多列后粘贴到前端界面el-table
  • C++学习 --类和对象之友元
  • Flutter笔记:使用Flutter构建响应式PC客户端/Web页面-案例
  • 聊聊LogbackMDCAdapter
  • spring命名空间注入和XML自动装配、引入外部配置文件
  • 【2024年11月份--2024精灵云校招C++笔试题】
  • Visual Studio 2019下编译OpenCV 4.7 与OpenCV 4.7 contrib
  • 【Linux网络】系统调优之聚合链路bonding,可以实现高可用和负载均衡
  • k8s持久化存储PV、PVC
  • CocosCreator3.8原生引擎源码研究
  • 高二英语上
  • JavaWeb Day10 案例 准备工作
  • Nginx:不同域名访问同一台机器的不同项目
  • C++(20):new数组时元素个数自动推到
  • 使用visualStudio发布可执行文件
  • yolo系列报错(持续补充ing)
  • Technology Strategy Patterns 学习笔记9 - bringing it all together
  • Redis(12)| 过期删除策略和内存淘汰策略