刚刚做的笔试编程题,不会做,请大家帮帮忙,用C语言

用C语言!!!

题目是

有一个字符串,需要做一些修改。具体的,字符串里的任意位置的字符修改为任意的数字字符。问题是需要多少次修改,可以使得修改后的字符串不包含两个连续相同的字符?

例如,对于字符串"111222333", 可以进行3次修改变为"121212313"

输入描述:

一行,一个字符串s,保证s只包含数字字符。

1<=|s|<=100000

输出描述:

一行,一个整数,表示修改的最少次数。

示例1:

输入 字符串 111222333

输出 整数 3

示例2:

输入 字符串 11551111

输出 整数 4

全部评论
这题直接看看相邻的两个一不一样就行了,不一样res加1,并且把下标加1
1 回复 分享
发布于 2023-03-11 21:24 江苏
这不是美团的第一题么
1 回复 分享
发布于 2023-03-11 21:27 四川
#include <stdio.h> int main() { char s[100001]; scanf("%s", s); int count = 0; for (int i = 1; s[i] != '\0'; i++) { if (s[i] == s[i-1]) { count++; s[i] = s[i-1] + 1; if (s[i] > '9') { s[i] = s[i-1] - 1; } } } printf("%d\n", count); return 0; }</stdio.h>
1 回复 分享
发布于 2023-03-21 21:41 重庆
谢谢各位的帮助,我这里做出来了 #include<stdio.h> #include<string.h> int main(){ char a[100000]={0}; scanf("%s",a); int counter=0; for(int i=0;i</string.h></stdio.h>
点赞 回复 分享
发布于 2023-03-11 23:13 瑞典

相关推荐

10-22 21:26
门头沟学院 Java
点赞 评论 收藏
分享
评论
2
2
分享
牛客网
牛客企业服务