1208. 翻硬币 ( 递推 / 思维 )

AcWing:1208. 翻硬币

在这里插入图片描述


太巧妙了,看完题目基本是没有思路的, 不知道怎么入手

偏思维, 我们只需要从前往后遍历, 遇到不同就将当前与下一个进行翻转,因为题目保证有解, 所以必定是可以恢复到原来的.



AC Code

import java.util.*;
import static java.lang.System.out;

public class Main{
    
    
    
    public static void main(String[] args) {
    
    
        Scanner in = new Scanner(System.in);
        String o = in.next();
        String n = in.next();
        char[] ocs = o.toCharArray();
        char[] ncs = n.toCharArray();
        int len = ocs.length;
        
        int ans = 0;
        for(int i = 0; i < len - 1; i++) {
    
    
            if(ocs[i] != ncs[i]) {
    
    
                // 进行翻转
                if(ncs[i + 1] == '*') ncs[i + 1] = 'o';
                else ncs[i + 1] = '*';
                ans++;
            }
        }
        
        
        out.println(ans);
    }
    
}



猜你喜欢

转载自blog.csdn.net/qq_43765535/article/details/112778071