梦中鬼魂(字符类)
import java.io.*; import java.util.*; public class Main { static String a[][]; public static void main(String[] args) throws IOException { Scanner sc = new Scanner(System.in); long sum = 0,same = 0,g = 0,h = 0; long play = 0; String s1 = sc.nextLine(); String s2 = sc.nextLine(); for(int i = 0;i <= s2.length() - 1;i++){ if(s2.charAt(i) == s1.charAt(i)){ same++; }else if(s2.charAt(i) == 'G'){ g++; }else if(s2.charAt(i) == 'H'){ h++; } } play = Math.max(g,h); System.out.println(play); } }
这题开始看还是蒙得,锻炼思维的题目,没有想到拿掉全部相同的字符,那么剩下的这些G、H就比较大小,如果哪个大,那么最少就需要执行多少次操作。
HGGG GGHH
单拿这一个例子来说,拿掉一个相同的G,就剩下了HGG、GHH。那么s2最多的就是2个H,那么就可以跟一个G掉换位置,然后剩下一个就自己变就行。