字符串删减
2023-03-07 09:16:01 时间
思想:
- 双指针。
- 快指针
i
作为某一连续的"xxx"
区间的右端点,慢指针j
作为该连续的"xxx"
区间的左端点; - 遍历字符串
s
,当s[i] == 'x'
时,将j = i
标记为左端点,i
不断向后推进:- 满足
s[i] == 'x'
且i - j == 2
时说明存在了连续的"xxx"
,需要删除,删除后i
和j
都要向后移动。 - 否则说明当前区间已经不存在连续的
"xxx"
,跳出循环。
- 满足
- 用
res
记录删去的'x'
的数量。
代码:
#include <bits/stdc++.h>
using namespace std;
void solve(){
int n; string s;
cin >> n >> s;
int res = 0;
for(int i = 0; i < s.size(); i ++){
if(s[i] == 'x'){
int j = i;
while(i < s.size() && s[i] == 'x'){ //指针 j i
if(i - j == 2) res ++, j ++; //下标 2 3 4
i ++; //s[i] x x x
} // i - j = 2 说明存在连续的 "xxx"
}
}
cout << res << endl;
}
int main(){
solve();
return 0;
}
相关文章
- AWS 一周回顾 – 2022 年 6 月 20 日
- 在Amazon Graviton2机型上使用自定义Runtime开发无服务JAVA应用
- AWS MGN 更新配置 DR、将 CentOS Linux 转换为 Rocky Linux 以及转换 SUSE Linux 订阅
- 快速落地智能摄像机解决方案(云存储+WebRTC)
- AWS 一周回顾 – 2022 年 6 月 13 日
- AWS 一周回顾 – 2022 年 5 月 23 日
- java udp
- CloudFront 跨域问题(CORS )的几种解决方式
- 在Amazon SageMaker上进行XGBoost分布式训练
- 新增 – Amazon EC2 R6id 实例,具有高达 7.6 TB 的 NVMe 本地实例存储
- 实现大型机应用程序现代化并将其部署到云中
- 基于Amazon Kinesis Video Stream Images构建视频流检测方案的集成与分析
- [Python] Python3脚本监控CentOS磁盘空间
- 人工智能助力复工复产,模版OCR轻松搞定健康码识别
- java UUID
- Data-centric AI之样本工程
- AWS 一周回顾 – 2022 年 6 月 6 日
- java UUID
- 条条大路通罗马 —— 使用 go-redis 连接 Amazon ElastiCache for Redis 集群
- JAVA NIO