腾讯笔试 求基因碱基的逆序数
来源:互联网 发布:Java仿hashmap实现 编辑:程序博客网 时间:2024/05/16 04:56
已知碱基序列ACGT为正序。
求任意碱基序列的逆序数。要求算法的时间复杂度为o(n).
如:一序列为 AGTCTCG 则其逆序数为7。
#include<iostream>
using namespace std;int reserveNumber(char *pdna);
int main()
{
char str[]="ACTCTGA";
cout<<reserveNumber(str)<<endl;
return 0;
}
int reserveNumber(char *pdna)
{
int sum=0,i=0;
int c[4]={0};//分别记录ACGT碱基的个数
while(pdna[i]!='\0')
{
switch (pdna[i]){
case 'A':
sum = sum + c[1] + c[2] + c[3];//如果当前元素是A,则将所有在A之前出现的CGT的个数和赋值给A,代表当前A的逆序数。
// c[0]++;//没什么用,A和后面的元素没有逆序数。
break;case 'C':
sum = sum + c[2] + c[3];//如果当前元素是C,则将所有在C之前出现的GT的个数和赋值给C,代表当前C的逆序数。
c[1]++; //统计字符C在出现的次数
break;
case 'G':
sum = sum + c[3];
c[2]++;
break;
case 'T':
c[3]++;
}
i++;
}
return sum;
}
0 0
- 腾讯笔试 求基因碱基的逆序数
- 腾讯笔试 求基因碱基的逆序数
- 腾讯2017年春季笔试 求基因碱基的逆序数
- perl 查找基因的重复区域 并计算重复区域碱基数
- 腾讯2017暑期实习生笔试题,计算字符串逆序数
- 求字符串的逆序数
- 求数组的逆序数
- 求数组的逆序数
- 求逆序数的对数
- 求逆序数的函数
- 求排列的逆序数
- 求排列的逆序数
- 求排列的逆序数
- 求排列的逆序数
- 求排列的逆序数
- 如何求一组数的逆序数
- 腾讯笔试题-编程题3 变相求回文数
- 求逆序数的分治算法
- [算法] Alpha-Beta搜索
- 商人过河问题(DFS)
- Linux常用命令大全
- android基础学习之sqlite
- js判断字符串开头和分割
- 腾讯笔试 求基因碱基的逆序数
- Linux下Tomcat的启动、关闭、杀死进程
- 循环-13. 求特殊方程的正整数解(15)
- 枚举百鸡问题的算法优化
- Maven常用命令
- 《Orange's 一个操作系统的实现》学习笔记--特权级代码段之间的转移(一)
- 好文章要收藏_漫谈IT毕业生职业规划
- duang!当CRM遇到项目管理“客户项目管理系统”
- 关于有符号数的一些测试