java彩色瓷砖编程题分析
程序员文章站
2023-01-15 08:08:52
牛牛喜欢彩色的东西,尤其是彩色的瓷砖。牛牛的房间内铺有l块正方形瓷砖。每块砖的颜色有四种可能:红、绿、蓝、黄。给定一个字符串s, 如果s的第i个字符是'r', ‘g', ‘...
牛牛喜欢彩色的东西,尤其是彩色的瓷砖。牛牛的房间内铺有l块正方形瓷砖。每块砖的颜色有四种可能:红、绿、蓝、黄。给定一个字符串s, 如果s的第i个字符是'r', ‘g', ‘b'或'y',那么第i块瓷砖的颜色就分别是红、绿、蓝或者黄。
牛牛决定换掉一些瓷砖的颜色,使得相邻两块瓷砖的颜色均不相同。请帮牛牛计算他最少需要换掉的瓷砖数量。
输入描述:
输入包括一行,一个字符串s,字符串长度length(1 ≤ length ≤ 10),字符串中每个字符串都是'r', ‘g', ‘b'或者'y'。
输出描述:
输出一个整数,表示牛牛最少需要换掉的瓷砖数量
示例1
输入
rrrrrr
输出
3
import java.util.scanner; public class repleasecolor { public static void main(string[] args) { scanner sc = new scanner(system.in); string str=sc.nextline(); getnum(str); } private static void getnum(string str) { // todo auto-generated method stub char[] ch=str.tochararray(); int tem=0; int len=ch.length; if(len>=2){ for(int i=1;i<len-1;i=i+2){ if(ch[i]==ch[i-1] || ch[i]==ch[i+1]){ tem++; } } if(ch[len-1]==ch[len-2] && len%2==0){ tem++; } for(int i=2;i<len-2;i=i+2){ if(ch[i]==ch[i-1] && ch[i]==ch[i+1] && ch[i+1]!=ch[i+2] && ch[i-1]!=ch[i-2]){ tem--; } } } system.out.println(tem); } }
上一篇: Java设计模式之监听器模式实例详解
推荐阅读
-
Java并发编程中线程池源码分析及使用
-
java彩色瓷砖编程题分析
-
荐 非常经典的java编程题全集-共50题(1-10)
-
并发编程(十)—— Java 并发队列 BlockingQueue 实现之 SynchronousQueue源码分析
-
【JAVA程序设计】第一轮编程题 第五题
-
零基础学Java语言(浙江大学) 第一周 编程题
-
Java Spring之AOP切面编程(多个实例分析)
-
Java编程中异常处理 try-catch-finally语句的一些分析
-
笔试编程题 数字游戏 Java题解 牛牛举办了一场数字游戏,有n个玩家参加这个游戏,游戏开始每个玩家选定一个数,然后将这个数写在纸上(十进制数,无前缀零),然后接下来对于每一个数字将其数位按照非递减
-
Java编程题之猴子吃桃