zoukankan      html  css  js  c++  java
  • 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);
    	}
     	} 
    } 
    

      

  • 相关阅读:
    git push错误
    mysql远程连接
    元组
    kmp算法的理解
    java 环境配置
    那些年认识AS时初见的傻坑坑
    Android 四个对话框区别(Toast、Dialog、Actionbar 和 Snackbar)
    AS 根目录结构说明
    Android Studio的页面注解
    tools的作用
  • 原文地址:https://www.cnblogs.com/zhang-yd/p/9795157.html
Copyright © 2011-2022 走看看