彩色瓷磚

牛牛喜歡彩色的東西,尤其是彩色的瓷磚。牛牛的房間內(nèi)鋪有L塊正方形瓷磚。每塊磚的顏色有四種可能:紅、綠、藍(lán)、黃。給定一個(gè)字符串S, 如果S的第i個(gè)字符是'R', 'G', 'B'或'Y',那么第i塊瓷磚的顏色就分別是紅、綠、藍(lán)或者黃。
牛牛決定換掉一些瓷磚的顏色,使得相鄰兩塊瓷磚的顏色均不相同。請(qǐng)幫牛牛計(jì)算他最少需要換掉的瓷磚數(shù)量。
輸入描述:

輸入包括一行,一個(gè)字符串S,字符串長(zhǎng)度length(1 ≤ length ≤ 10),字符串中每個(gè)字符串都是'R', 'G', 'B'或者'Y'。

輸出描述:

輸出一個(gè)整數(shù),表示牛牛最少需要換掉的瓷磚數(shù)量

示例1
輸入

RRRRRR

輸出

3

import java.util.*;

public class Main {
    /*解題思路:
    如果相鄰兩塊X1、X2瓷磚顏色相同,則需要替換瓷磚數(shù)加1,跳過(guò)下個(gè)瓷磚X2
    (X2顏色更改為與X3不同)繼續(xù)比較X3與X4的顏色,所以代碼中顏色相同的情況下
    有i++語(yǔ)句。直接判斷即可,兩兩判斷,因?yàn)橛兴膲K瓷磚,所以碰到相同的直接替換就可以,
    而且一定可以找到一個(gè)與前面不同同時(shí)與后面不同的替換,所以只要直接替換,
    不用考慮其他,找到相鄰兩個(gè)相同的,就將計(jì)數(shù)器加一,然后直接跳過(guò)這兩個(gè),
    從下一個(gè)開(kāi)始判斷,就是兩兩判斷
    */
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        String str = in.nextLine()
        System.out.println(replace(str,str.length()));

    }

    private static int replace(String str, int len) {
        int count = 0;
        for(int i=1;i<len;i++) {
            if(str.charAt(i) == str.charAt(i-1)) {
                count++;
                i++;//跳過(guò)這兩塊
            }
        }
        return count;
    } 
}

70%測(cè)試用例:

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner sc =new Scanner(System.in);//
        String str = sc.nextLine();//
        char[] input=str.toCharArray();//字符串到字符數(shù)組
        
        int ans=0;
        for(int i=1;i<input.length;i=i+2){
            if(input[i]==input[i-1]){
                //把input[i]替換為與input[i+1]不同的字符串
                ans++;
            }
        }
        System.out.println(ans);//
    }
}
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容