得到交替排列形式字符串

题目:

牛牛有n张卡片排成一个序列.每张卡片一面是黑色的,另一面是白色的。

初始状态的时候有些卡片是黑色朝上,有些卡片是白色朝上。

牛牛现在想要把一些卡片翻过来,得到一种交替排列的形式,即每对相邻卡片的颜色都是不一样的。

牛牛想知道最少需要翻转多少张卡片可以变成交替排列的形式。

分析:

由题意得,要得到交替排列形式,只有BWBWBW....或者WBWBWB...两种可能。

只需要用两个变量记录得到这两种形式串所需要的步数即可,输出最小值


实现代码:




public class Main{
    public static void main(String[] args){
        Scanner scanner = new Scanner(System.in);
        String line = scanner.next();
        int b = 0, w = 0;
        for(int i=0, len = line.length();i


你可能感兴趣的:(#,面试算法题,【Java基础】)