天津 交友 网站建设,完成网站集约化建设,山东平台网站建设找哪家,美食网站设计的代码题目链接#xff1a;1.DNA序列修正 - 蓝桥云课 (lanqiao.cn) 利用HashMap的特性#xff0c;将字母匹配转换成数字匹配 A T 0 1 C G 1 2 3 另外#xff0c;Java中没有交换#xff08;swap#xff09;函数#xff0c;需要自己进行编写。 程序代码#xff1a;
pac…题目链接1.DNA序列修正 - 蓝桥云课 (lanqiao.cn) 利用HashMap的特性将字母匹配转换成数字匹配 A T 0 1 C G 1 2 3 另外Java中没有交换swap函数需要自己进行编写。 程序代码
package lanqiao;import java.util.HashMap;
import java.util.Map;
import java.util.Scanner;/*** 2023/11/29*/
public class lanqiao3904_DNA序列修正 {public static void main(String[] args) {Scanner scan new Scanner(System.in);int nscan.nextInt();//DNA序列长度char[] anew char[n];char[] bnew char[n];ascan.next().toCharArray();//两条DNA序列bscan.next().toCharArray();MapCharacter,Integer mapnew HashMap();map.put(A,0);//可以保证相匹配的字符加和恒为3map.put(C,1);//A——T 033map.put(G,2);//C——G 123map.put(T,3);int ans0;for (int i0;in;i){if (map.get(a[i])map.get(b[i])!3){//相加不为3则说明两个字符不匹配需要向后寻找进行交换for (int ji1;jn;j){if (map.get(a[i])map.get(b[j])3||map.get(a[j])map.get(b[i])3){//两种相加和为3的可能swap(b,i,j);//如果i后面有匹配字符则进行一次交换}}ans;}}System.out.println(使DNA互补的最小操作次数为ans);}public static void swap(char[] c,int x,int y){//将 c[x] 与 c[y] 进行交换char tempc[x];c[x]c[y];c[y]temp;}
}运行结果
5
ACGTG
ACGTC
使DNA互补的最小操作次数为2进程已结束退出代码为 0