DNA Pairing

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;
}

 

转载于:https://www.cnblogs.com/renbo/p/6701626.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值