hihocoder-1850-字母去重

Posted zhang-yd

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了hihocoder-1850-字母去重相关的知识,希望对你有一定的参考价值。

hihocoder-1850-字母去重

#1850 : 字母去重

时间限制:10000ms
单点时限:1000ms
内存限制:256MB

描述

给定一个字符串S,每次操作你可以将其中任意一个字符修改成其他任意字符。

请你计算最少需要多少次操作,才能使得S中不存在两个相邻的相同字符。

输入

只包含小写字母的字符串S。  

1 ≤ |S| ≤ 100000

输出

一个整数代表答案

样例输入
aab
样例输出
1

 

题解:

  一道很简单的题目,只需要对数组进行扫一遍,判断每段重复的数组长度就可以了。

 

 

#include <cstdio>  
#include <cstring> 
#include <cstdlib>   
const int MAXN = 100000 + 10;  

int main(){ 

    char ch[MAXN]; 
    while(scanf("%s", ch)!=EOF){

    if(strlen(ch) <= 1){
    	printf("0
");
    }else{ 
    	int cnt = 1, ans =0; 
	    for(int i=1; i<strlen(ch); ++i)
	    {
	    	if(ch[i]==ch[i-1]){
	    		cnt++; 
	    	}else{
	    		if(cnt > 0){
	    			ans += cnt/2; 
	    		}
	    		cnt = 1; 
	    	}
	    }
	    ans += cnt/2; 
	    printf("%d
", ans);
	}
 	} 
} 

  

 

以上是关于hihocoder-1850-字母去重的主要内容,如果未能解决你的问题,请参考以下文章

JavaScript 代码片段

48个值得掌握的JavaScript代码片段(上)

java 删除重复字母 - 去重字符 - 难

精心收集的 48 个 JavaScript 代码片段,仅需 30 秒就可理解!(转载)

Java 求解划分字母区间

创建自己的代码片段(CodeSnippet)