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

牛客:机器翻译

解法一:暴力判断

  • 对于每个新输入的元素,检查它是否在最近出现的m个元素中(即 “缓存窗口” 内);

  • 若在窗口内:该元素是重复的,不计数;

  • 若不在窗口内:该元素是新的,加入统计,并更新 “最近元素窗口”。

    #include<bits/stdc++.h>
    using namespace std;
    int main(){int m,n;int cont=0;int pos=0;cin>>m>>n;vector<int> vis(n);for(int i=0;i<n;i++){int x;cin>>x;bool flag=false;for(int j=pos;j>0&&j>pos-m;j--){if(vis[j]==x){flag=true;break;}}if(flag) continue;vis[++pos]=x;}cout<<pos;return 0;
    }

    解法二:

  • 每个新元素先检查是否已在缓存中(用vis数组标记);

  • 若已在缓存:不做处理,跳过;

  • 若不在缓存:加入缓存,同时标记为 “已存在”;

  • 若加入后缓存容量超过m:淘汰最早加入缓存的元素(遵循 “先进先出” FIFO 规则),并取消其 “已存在” 标记;

  • 最终输出所有曾被有效处理(加入过缓存)的元素总数。

    用一个标记数组和一个缓存数组,如果vis标记数组里面没有标记,检查到了之后就标记,并且加入缓存,如果缓存满了则把最早的一个标记解除,表示把它踢出缓存

    #include<bits/stdc++.h>
    using namespace std;
    int main(){int m,n,x;int pos=0;cin>>m>>n;vector<int> vis(1001);vector<int> a(1001);for(int i=0;i<n;i++){cin>>x;if(vis[x]==1) continue;a[++pos]=x;vis[x]=1;if(pos>m){vis[a[pos-m]]=0;   }}cout<<pos;return 0;
    }

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

相关文章:

  • 20250925的学习笔记
  • 域名不同网站程序相同wordpress多门户网站
  • 淘宝API商品详情接口全解析:从基础数据到深度挖掘
  • 【低代码】百度开源amis
  • 求推荐专业的网站建设开发免费商城
  • java面试day4 | 微服务、Spring Cloud、注册中心、负载均衡、CAP、BASE、分布式接口幂等性、xxl-job
  • 高QE sCMOS相机在SIM超分辨显微成像中的应用
  • C++设计模式之创建型模式:原型模式(Prototype)
  • Node.js/Python 调用 1688 API 实时拉取商品信息的实现方案
  • OpenLayers地图交互 -- 章节九:拖拽框交互详解
  • 浅谈 Kubernetes 微服务部署架构
  • 媒体资源云优客seo排名公司
  • 企业如何构建全面防护体系,应对勒索病毒与恶意软件攻击?
  • 【重磅发布】《特色产业数据要素价值化研究报告》
  • fast-lio有ros2版本吗?
  • PWM 冻结模式 模式1 强制输出有效电平 强制输出无效电平 设置有效电平 实现闪烁灯
  • 系统分析师-软件工程-信息系统开发方法面向对象原型化方法面向服务快速应用开发
  • Linux的写作日记:Linux基础开发工具(一)
  • 做响应网站的素材网站有哪些怎么在年报网站做简易注销
  • C++中的initializer_list
  • 关于营销型网站建设的建议促进房地产市场健康发展
  • PHP验证码生成与测试
  • 漫谈<无头浏览器技术>:二、演进之路
  • .NET驾驭Word之力:智能文档处理 - 查找替换与书签操作完全指南
  • 做网站和app哪个难单页网站 jquery
  • 华为od-前端面经-22届非科班
  • 《新能源汽车故障诊断与排除》数字课程资源包开发说明
  • 软件定义汽车---小鹏汽车的智能进化之路
  • 公司做网站需要注意些什么问题wordpress文本框代码
  • SpringMVC 学习指南:从入门到实战