资讯专栏INFORMATION COLUMN

DNA Pairing——Easy algorithm challenge

luxixing / 794人阅读

Problem Explanation:

You will get a DNA strand sequence and you need to get the pair and return it as a 2D array of the base pairs. Keep in mind that the provided strand should be first always.

pairElement("ATCGA") should return [["A","T"],["T","A"],["C","G"],["G","C"],["A","T"]].
pairElement("TTGAG") should return [["T","A"],["T","A"],["G","C"],["A","T"],["G","C"]].
pairElement("CTCTA") should return [["C","G"],["T","A"],["C","G"],["T","A"],["A","T"]].

basic solution:
function pairElement(str) {
  // Return each strand as an array of two elements, the original and the pair.
  var paired = [];

  // Function to check with strand to pair.
  var search = function(char) {
    switch (char) {
      case "A":
        paired.push(["A", "T"]);
        break;
      case "T":
        paired.push(["T", "A"]);
        break;
      case "C":
        paired.push(["C", "G"]);
        break;
      case "G":
        paired.push(["G", "C"]);
        break;
    }
  };

  // Loops through the input and pair.
  for (var i = 0; i < str.length; i++) {
    search(str[i]);
  }

  return paired;
}

// test here
pairElement("GCG");
Intermediate Code Solution:
function pairElement(str) {
  //define a map object with all pair possibilities 
  var map = {T:"A", A:"T", G:"C", C:"G"};
  //split str into a char Array
  strArr = str.split("");
  //replace each Array item with a 2d Array using map
  for (var i=0;i

https://forum.freecodecamp.or...

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/84106.html

相关文章

  • Missing letters——Easy algorithm challenge

    摘要:并看不懂我不会到处乱说。好吧我努力拆解一下这个正则是什么意思匹配字符串的开始重复一次或更多次匹配除了以外的任意字符原文 problem: You will create a program that will find the missing letter from a string and return it. If there is no missing letter, the p...

    stormgens 评论0 收藏0
  • FreeCodeCamp中级算法题答案

    摘要:法一法二使用给定的参数对句子执行一次查找和替换,然后返回新句子。法一法二把指定的字符串翻译成。在每一个数组中将给定的字母作为第一个碱基返回。法一后项减去前项法二检查一个值是否是基本布尔类型,并返回或。基本布尔类型即和。 Diff Two Arrays 比较两个数组,然后返回一个新数组,该数组的元素为两个给定数组中所有独有的数组元素。换言之,返回两个数组的差异。 function dif...

    leonardofed 评论0 收藏0
  • 每日一道算法题 - 反转字符串(easy-3)

    摘要:规则使用语言,让函数获取传递的参数,并以相反的顺序返回字符串。测试用例思路方法通过把字符串转换成数组,并使用数组的反转数组,然后使用重新拼接成字符串方法向后循环字符串或字符数组以生成新字符串 虽然都是很简单的算法,每个都只需5分钟左右,但写起来总会遇到不同的小问题,希望大家能跟我一起每天进步一点点。更多的小算法练习,可以查看我的文章。 规则 Using the JavaScript l...

    xfee 评论0 收藏0
  • 谷歌推出开源工具DeepVariant,用深度学习识别基因变异

    摘要:今天推出了一个名叫的开源工具,用深度神经网络来从测序数据中快速较精确识别碱基变异位点。今天,团队,联合同属于旗下的生命科学兄弟公司,用了两年多时间,研发出了一个名叫的开源工具,专门用深度神经网络来识别结果中测序数据里这些碱基变异位点。 Google今天推出了一个名叫DeepVariant的开源工具,用深度神经网络来从DNA测序数据中快速较精确识别碱基变异位点。学科研究的革命性进展,特别是基因...

    raledong 评论0 收藏0

发表评论

0条评论

luxixing

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<