1112 Stucked Keyboard

#include<iostream>

#include<map>

#include<set>

#include<string>

using namespace std;

bool sureNobroken256;

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(si==pre){

cnt++;

}else{

//如果连续出现的不是k的倍数,说明不是坏键

if(cnt%k!=0){

sureNobrokenpre=true;

}

cnt=1;

}

//如果当前出现的字符数是k的倍数,表示其为坏键

if(i!=s.length()-1){

ms\[i]=(cnt%k==0);

}

pre=si;//更新前一个字符

}

//第二次遍历,修正标记

for(int i=0;i<s.length()-1;i++){

if(sureNobrokens\[i]){

ms\[i]=false;

}

}

//输出所有坏键

for(int i=0;i<s.length()-1;i++){

if(ms\[i]&&printed.find(si)==printed.end()){

cout<<si;

printed.insert(si);

}

}

cout<<endl;

//输出修正后的字符

for(int i=0;i<s.length()-1;i++){

cout<<si;

if(ms\[i]){

i=i+k-1;

}

}

return 0;

}

相关推荐
Leo.yuan3 分钟前
Kafka+Flink拼凑,还是FineDataLink 5.0一体化?实时数据处理的两种思路
c++·mfc
玩AI的奶茶17 分钟前
24GB 显存能跑多大的模型?参数量、精度与显存占用对照表
人工智能·python·算法·ai·aigc·gpu算力·算力租赁
java_nnnn29 分钟前
LeetCode刷题双指针(有效三角形的个数+三数之和)Java
算法·leetcode·职场和发展
人工智能培训30 分钟前
智能博弈背景下中国AI国防建设的战略价值
大数据·人工智能·算法·重构·生活
flinn_small39 分钟前
三分算法:原理、实现与实战应用
数据结构·算法·三分
思茂信息1 小时前
CST软件UV Slice切片后可直接删除指定一侧实体
算法·uv·emc·emi·cst·仿真软件
INGNIGHT1 小时前
944 · 最大子矩阵(前缀和)
数据结构·c++·算法
All for pursuit.2 小时前
【动态规划-6】96.不同的二叉搜索树
数据结构·c++·算法·leetcode·动态规划
rou2 小时前
Attention(注意力机制)
算法
信奥卷王3 小时前
[GESP202609 六级] 数组划分
数据结构·算法