1208.コインを裏返します(再帰/思考)

AcWing:1208。コインを回します

ここに画像の説明を挿入


とても独創的です。トピックを読んだ後は、基本的にわかりません。始め方がわかりません。

部分的な考え方では、問題は確実に解決されるため、前から後ろにトラバースし、違いが発生したときに現在と次を反転するだけで済みます。元の状態に戻す必要があります。



ACコード

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