DNA 链缺少配对的碱基。依据每一个碱基,为其找到配对的碱基,然后将结果作为第二个数组返回。
Base pairs(碱基对) 是一对 AT 和 CG,为给定的字母匹配缺失的碱基。
在每一个数组中将给定的字母作为第一个碱基返回。
例如,对于输入的 GCG,相应地返回 [["G", "C"], ["C","G"],["G", "C"]]
字母和与之配对的字母在一个数组内,然后所有数组再被组织起来封装进一个数组。
还是先把以前的解法拿出来:
function pair(str) { var result=[]; var aStr=str.split(''); for(var i=0;i<aStr.length;i++){ if(aStr[i]!=='A'&&aStr[i]!=='C'&&aStr[i]!=='G'&&aStr[i]!=='T') return 'error'; else if(aStr[i]=='G'){ result.push([aStr[i]].concat(['C'])); } else if(aStr[i]=='C'){ result.push([aStr[i]].concat(['G'])); } else if(aStr[i]=='T'){ result.push([aStr[i]].concat(['A'])); } else if(aStr[i]=='A'){ result.push([aStr[i]].concat(['T'])); } } return result; }
更简单的解法:
function pair(str) { var dna = { 'A':'T', 'T':'A', 'C':'G', 'G':'C', }; var result = []; var temp; for(let i=0;i<str.length;i++){ temp=[]; temp.push(str[i]); temp.push(dna[str[i]]); result.push(temp); } return result; }