DNA合成问题
DNA分子是以4种脱氧核苷酸为单位连接而成的长链,这4种脱氧核苷酸分别含有A,T,C,G四种碱基。碱基互补配对原则:A和T是配对的,C和G是配对的。如果两条碱基链长度是相同的并且每个位置的碱基是配对的,那么他们就可以配对合成为DNA的双螺旋结构。现在给出两条碱基链,允许在其中一条上做替换操作:把序列上的某个位置的碱基更换为另外一种碱基。问最少需要多少次让两条碱基链配对成功
输入描述:
输入包括一行:
包括两个字符串,分别表示两条链,两个字符串长度相同且长度均小于等于50。
输出描述: 输出一个整数,即最少需要多少次让两条碱基链配对成功
输入例子:
1ACGT TGCA
输出例子:0
Java解决方案:
获取两天链对应的配对链
将配对链和原链交叉比较,获取不同的碱基计数
获得两个计数的最小值即为答案
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152import java.util.Scanner;public clas
2019-11-16
算法
Java集合
Java集合主要分为继承和实现了Collection和Map两个接口的子接口和类。
1. Collection接口的子接口
List<Integer> list;
List 所代表的是有序的 Collection,即它用某种特定的插入顺序来维护元素顺序。用户可以对列表中每个元素的插入位置进行精确地控制,同时可以根据元素的整数索引(在列表中的位置)访问元素,并搜索列表中的元素。
Set<Integer> set;
不包括重复元素的集合,允许null的存在,但是只能有一个
List的子类
ArrayList<Integer> arrayList;
继承自AbstractList,非同步,允许null元素插入初始容量10,最好指定一个初始容量值,避免过多的进行扩容操作而浪费时间、效率
LinkedList<Integer> linkedList;
继承自AbstractSequentialList,非同步LinkedList 是一个双向链表。所以它除了有 ArrayList 的基本操作方法外还额外提供了 get,r
2019-11-16
Java
collection