1. 程式人生 > >FCC 中級算法題 堿基配對

FCC 中級算法題 堿基配對

結果 bsp per dna 方法 return 知識 簡單 asc

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 中級算法題 堿基配對