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

排队选人-2024年秋招-小米集团-软件开发岗-第二批笔试

题目分析:区间极值问题(极小值),此题目长度为k的区间极小值不能小于a。

区间极值问题有三种方法:

(1)序列中元素的值可变,线段树(已忘记怎么写)。

(2)序列中元素不可变,RMQ数组

(3)此题目由于区间长度固定为k,且仅为小米招聘算法第一题,因此使用数据结构课程中的set结构来解决。set简单说就是一个有序集合,我们用set存储一个长度为k区间所有元素,区间向后移动时删除最左侧元素,加入最右侧元素。

小提示:此处可能有重复元素,因此使用multiset结构,另外set集合最小值用begin()函数可得。

使用set结构需要注意,最大值是end()函数前驱,所以需要指针前移,也就是--sa.end()才是最大元素.

#include <bits/stdc++.h>
using namespace std;
int main()
{int n,k,a,b,i,j,x,d1[100005]={0},d2[100005]={0},ans=0;cin>>n>>k>>a>>b;for(i=1;i<=n;i++)cin>>d1[i];for(i=1;i<=n;i++)cin>>d2[i];multiset<int> sa,sb;for(i=0;i<k;i++)/**< 此处多放了1个零进去 */sa.insert(d1[i]),sb.insert(d2[i]);for(i=k;i<=n;i++){/**< 集合中保持k个元素,放入第i个,拿走第i-k个*/sa.erase(d1[i-k]);sb.erase(d2[i-k]);sa.insert(d1[i]);sb.insert(d2[i]);if(*sa.begin()>=a&&*sb.begin()>=b)ans++;/**< 集合中begin()获取最小值,end()获取最大值 */}cout<<ans;return 0;
}

http://www.dtcms.com/a/570088.html

相关文章:

  • 告别混乱!Spring Boot + MyBatis 标准化开发:结构解析 + 接口实战 + Checklist
  • 滨州网站建设哪家专业外贸网站外链怎么做
  • 光刻胶分类与特性:正性胶和负性胶以及SU-8厚胶和AZ 1500 系列光刻胶(下)
  • 上海市建上海市建设安全协会网站网站的优化通过什么做上去
  • [vue3] h函数,阻止事件冒泡
  • 渲染学进阶内容——模型(3)
  • 企业微信智能机器人消息监听与回复完整指引
  • MySQL基础题
  • Spring MVC中@RequestMapping注解的全面解析
  • 网站建设流程有几个阶段wordpress页脚菜单横排
  • 西宁建设网站价格低桂林漓江风景图片
  • Linux工具介绍——自动化构建工具make/Makefile
  • 如何在springboot添加静态页面
  • 北京网站设计外包公司大兴高米店网站建设
  • Linux 进程通信(IPC)一站式笔记:概念 → 常用方式 → 函数原型与参数详解
  • 盐城网站推广wordpress手机pc分开模板
  • 建立网站时要采用一定的链接结构网站建设最简单的教程视频教程
  • 泰安手机网站建设电话肇庆自助网站建设系统
  • 基于Vue的地铁综合服务管理系统7949eg04(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。
  • 房产网站建设接单如何在手机上做微电影网站
  • Oracle AWR管理与快照操作完整指南
  • 济源专业做网站公司又拍云WordPress 插件
  • 蓝色风格网站网站案例上海
  • 如何在 MySQL Server 中配置 SSL 证书 ?
  • UGUI笔记——3D坐标转换成UGUI坐标
  • 2025 | 时序预测新范式:多智能体AI系统实现全流程自动化!
  • 营销型网站建设模板郴州网络科技有限公司
  • 网站服务器如何做热备价网络公司排名前十名有哪些
  • 视频转图片工具
  • 长春网站建设方案优化网络规划设计师教程第二版电子版