题目
示例
输入:
ATTTAA
TTAATT
输出:
3
解释
- 0位A换成T
- 2位T和4位A对换
- 3位T和5位A对换
源码
import java.util.Scanner;
public class DNA {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
String msg1 = scanner.next();
String msg2 = scanner.next();
scanner.close();
int count1 = 0;
int count2 = 0;
String[] msg11 = msg1.split("");
String[] msg22 = msg2.split("");
for (int i=0;i<msg1.length();i++){
if(!msg11[i].equals(msg22[i])) {
if (msg11[i].equals("A")) count1++;
else count2++;
}
}
System.out.println(Math.max(count1,count2));
}
}
思路:
先把字符串用数组分隔开,统计第一个DNA和第二个DNA有几个不同,不同的里面count1记录A的个数,count2记录T的个数(记录第一个DNA的)。没一对不同的A和T可以之间调换解决,不能构成一对的就要直接替换,所以结果为 对数+多出的个数 ,即count1和count2中的大值