官方题解|aaaccgo
2024-05-20 13:29:59
发布于:浙江
92阅读
0回复
0点赞
题目解析
本题考察字符串和循环结构。
我们有很多种方法来解决这道题目。
这里采用一种比较方便的做法:
首先使用以下方法将字符串 「去重」:
- 从第二个字符开始遍历字符串 ;
- 若当前字符和前一个保留的字符不相同,则保留该字符;
- 若当前字符和前一个保留的字符相同,则不保留该字符。
去重后的字符串一定为 ,否则说明不能够按照题目要求进行拆分。
AC代码
#include <bits/stdc++.h>
using namespace std;
int main() {
cin.tie(nullptr)->sync_with_stdio(false);
string s; cin >> s;
int j = 0, n = s.size();
for (int i = 1; i < n; ++i)
if (s[i] != s[j]) s[++j] = s[i];
cout << (s.substr(0, j+1) == "acgo" ? "Yes" : "No") << '\n';
return 0;
}
复杂度分析
将字符串去重时间复杂度 。
这里空空如也
有帮助,赞一个