题目

有一种特殊的DNA,长度为n,核酸由A和T成,科学家有一种新的手段,每一次可以改变这种DNA上两个核酸的位置,也可以将某个特定位置的核酸修改为另一种核酸。

现在有一个DNA,科学家希望将其改造成另一种DNA,计算最少的操作次数。

输入

输入包含两行,第一行为初始的DNA,第二行为目标DNA,保证长度相同。

输出

输出最少的操作次数

样例输入

ATTTAA

TTAATT

样例输出

3

提示

对于100%的数据,DNA长度小于等于100000

样例解释:

1.首先修改第一个位置的核酸(从A修改为T)

2交换3和5位置的核酸

3交换4和6位置的核酸

public static void main(String[] args) {
   
    Scanner scanner = new Scanner(System.in);
    //System.out.println("请输入一个数组:以空格隔开");
    String str1 = scanner.nextLine();
    //String[] tmp = str1.split(" ");

    String str2 = scanner.nextLine();
   // String[] tmp2 = str2.split(" ");
    System.out.println(find(str1,str2));
}
public static int find(String str1,String str2){
   
    int a = 0;
    int t = 0;
    for(int i =0; i< str1.length();i++){
   
        if(str1.charAt(i) =='A' && str2.charAt(i)!='A'){
   
            a++;
        }
        if(str1.charAt(i) =='T' && str2.charAt(i)!='T'){
   
            t++;
        }
    }
    return Math.max(a,t);
}


原文地址https://mp.weixin.qq.com/s/AGBiWsPU9GX4qp7CNrkLnQ