第一题:字符串修改
题目描述
小美有一个由数字字符组成的字符串。现在她想对这个字符串进行一些修改。
具体地,她可以将这个字符串中任意位置字符修改为任意的数字字符。
她想知道,至少进行多少次修改,可以使得修改后的字符串不包含两个连续相同的字符?
例如,对于字符串”111222333”。她可以进行3次修改将其变为”121212313。
输入描述
一行,一个字符串s,保证s只包含数字字符。1<=|s|<=100000
- 111222333
输出描述
一行,一个整数,表示修改的最少次数。
- 3
#include<stdio.h> #include<iostream> using namespace std; int mod(string s) { int num=0; if (s.size() < 2) return 0; for (int i = 1; i < s.size()-1; i++) { if (s[i] == s[i - 1]) { s[i] = max(s[i + 1], s[i - 1]) + 1; num++; } } if (s[s.size() - 1] == s[s.size() - 2]) num++; return num; } int main() { string s; cin >> s; cout<<mod(s); return 0; }
标签:11,字符,int,美团,修改,num,2023,字符串,size From: https://www.cnblogs.com/fei1013/p/17251493.html