首页 > 代码库 > FCC 中级算法题 碱基配对

FCC 中级算法题 碱基配对

DNA Pairing


DNA 链缺少配对的碱基。依据每一个碱基,为其找到配对的碱基,然后将结果作为第二个数组返回。

Base pairs(碱基对) 是一对 AT 和 CG,为给定的字母匹配缺失的碱基。

在每一个数组中将给定的字母作为第一个碱基返回。

例如,对于输入的 GCG,相应地返回 [["G", "C"], ["C","G"],["G", "C"]]

字母和与之配对的字母在一个数组内,然后所有数组再被组织起来封装进一个数组。

Array.push()

String.split()

思路(这个比较简单):

(1)先把所给的字符串拆分成数组;

(2)创建一个二维数组,每个元素由字符串数组中的一个字母和与其对应的字母组成.

知识点:

(1)String.split()方法将一个String对象分割成字符串数组,通过将字符串分成子串;

(2)Array.push()方法将一个或多个元素添加到数组的末尾,并返回数组的新长度.

代码:

 1 function pair(str) {
 2     var arr = str.split(‘‘);
 3 
 4     function change(letter) {
 5         switch (letter) {
 6         case "A":
 7             return "T";
 8         case "T":
 9             return "A";
10         case "G":
11             return "C";
12         case "C":
13             return "G";
14 
15         }
16     }
17     var newArr = [];
18     for (var i = 0; i < arr.length; i++) {
19         newArr[i] = [];
20         newArr[i].push(arr[i]);
21         newArr[i].push(change(arr[i]));
22 
23     }
24     return newArr;
25 }
26 
27 pair("GCG");

 

FCC 中级算法题 碱基配对