翻硬币(贪心)

import java.util.Scanner;

public class coinflip {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		String s1;
		String s2;
		Scanner sc=new Scanner(System.in);
		s1=sc.next();
		s2=sc.next();
		int i1[]=new int[1000];
		int i2[]=new int[1000];
		//将 * o 变成更好处理的1 -1
		for(int j=0;j<s1.length();j++)
		{
			if(s1.charAt(j)=='*')
				i1[j]=1;
			if(s1.charAt(j)=='o')
				i1[j]=-1;
			if(s2.charAt(j)=='*')
				i2[j]=1;
			if(s2.charAt(j)=='o')
				i2[j]=-1;
		}
		int times=0;
		for(int i=0;i<s1.length()-1;i++)
		{
			if(i1[i]!=i2[i])
			{
				times++;
				i1[i]=-i1[i];
				i1[i+1]=-i1[i+1];
			}
		}

		System.out.println(times);
	}

}

虽说用了所谓“贪心”,但我对“贪心算法”还是没什么实感,还是因为题练得太少了。

相关文章: