news 2026/4/23 13:36:54

1112 Stucked Keyboard

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
1112 Stucked Keyboard

#include<iostream>
#include<map>
#include<set>
#include<string>
using namespace std;
bool sureNobroken[256];
int main(){
int k,cnt=1;
cin>>k;//字符出现次数的阈值
string s;
cin>>s;

map<char,bool>m;//记录是否为坏键
set<char>printed;//记录已经输出的字符

char pre='#';
s=s+'#';
//第一次遍历,标记可能坏掉的键
for(int i=0;i<s.length();i++){
if(s[i]==pre){
cnt++;
}else{
//如果连续出现的不是k的倍数,说明不是坏键
if(cnt%k!=0){
sureNobroken[pre]=true;
}
cnt=1;
}
//如果当前出现的字符数是k的倍数,表示其为坏键
if(i!=s.length()-1){
m[s[i]]=(cnt%k==0);
}
pre=s[i];//更新前一个字符
}
//第二次遍历,修正标记
for(int i=0;i<s.length()-1;i++){
if(sureNobroken[s[i]]){
m[s[i]]=false;
}
}
//输出所有坏键
for(int i=0;i<s.length()-1;i++){
if(m[s[i]]&&printed.find(s[i])==printed.end()){
cout<<s[i];
printed.insert(s[i]);
}
}
cout<<endl;
//输出修正后的字符
for(int i=0;i<s.length()-1;i++){
cout<<s[i];
if(m[s[i]]){
i=i+k-1;
}
}
return 0;
}

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/23 12:11:46

模电复习-二极管及基本电路、半导体材料与PN结特性

本章重点在于二极管的特性、曲线以及基本电路的分析方法&#xff0c;以下是重点知识以及例题常用的半导体材料有哪些&#xff1f; 主要有&#xff1a;硅(Si)、锗(Ge)、砷化镓(GaAs)等。其中硅是最常用、最广泛的半导体材料&#xff0c;因其储量丰富、热稳定性好、氧化膜性能优良…

作者头像 李华
网站建设 2026/4/23 12:14:06

智能决策指南:如何为你的微服务系统挑选合适的事务模式

智能决策指南&#xff1a;如何为你的微服务系统挑选合适的事务模式 【免费下载链接】school-of-sre linkedin/school-of-sre: 这是一个用于培训软件可靠性工程师&#xff08;SRE&#xff09;的在线课程。适合用于需要学习软件可靠性工程和运维技能的场景。特点&#xff1a;内容…

作者头像 李华
网站建设 2026/4/23 11:31:07

网盘直链下载助手:5分钟轻松突破下载限速终极指南

还在为网盘龟速下载而烦恼吗&#xff1f;网盘直链下载助手作为一款免费开源的浏览器脚本工具&#xff0c;能够帮助你快速获取百度网盘、阿里云盘等主流网盘的直链下载地址&#xff0c;让下载速度瞬间提升到满速状态&#xff01;&#x1f680; 【免费下载链接】baiduyun 油猴脚本…

作者头像 李华
网站建设 2026/4/23 11:31:05

【源码解读之 Mybatis】【核心篇】-- 第10篇:动态SQL实现原理详解

第10篇&#xff1a;动态SQL实现原理详解 前言 在前面的章节中&#xff0c;我们学习了 MyBatis 的核心执行流程&#xff0c;特别是第9篇中详细介绍了 MappedStatement 和 SqlSource 的作用。你可能注意到&#xff0c;MyBatis 能够根据不同的条件动态生成 SQL&#xff0c;这正是 …

作者头像 李华