作者:翟天保Steven
版权声明:著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处

题目描述:

一个DNA序列由A/C/G/T四个字母的排列组合组成。G和C的比例(定义为GC-Ratio)是序列中G和C两个字母的总的出现次数除以总的字母数目(也就是序列长度)。在基因工程中,这个比例非常重要。因为高的GC-Ratio可能是基因的起始点。

给定一个很长的DNA序列,以及限定的子串长度N,请帮助研究人员在给出的DNA序列中从左往右找出GC-Ratio最高且长度为N的第一个子串。

DNA序列为ACGT的子串有:ACG,CG,CGT等等,但是没有AGT,CT等等

输入描述:

输入一个string型基因序列,和int型子串的长度

输出描述:

找出GC比例最高的子串,如果有多个则输出第一个的子串

示例:

输入:

ACGT
2

输出:

CG

说明:

ACGT长度为2的子串有AC,CG,GT3个,其中AC和GT2个的GC-Ratio都为0.5,CG为1,故输出CG 

解题思路:

本题为字符串操作题。输入string基因序列和子串长度后,挨个子串分析GC的比例,定位出最大GC-Ratio的子串输出即可。

测试代码:

#include <iostream>
#include <string>
#include <vector>using namespace std;int main()
{string str;int length;while(cin>>str>>length){vector<string> ls;int size=str.size();float max=0.f;string result;for(int i=0;i<size-length+1;++i){string t=str.substr(i,length);float sum=0.f;for(int j=0;j<t.size();++j){if(t[j]=='G'||t[j]=='C')sum++;}float R=float(sum/t.size());if(R>max){max=R;result=t;}}cout<<result<<endl;}return 0;
}

华为机试HJ63:DNA序列相关推荐

  1. 华为机试:DNA序列

    DNA序列 描述 一个 DNA 序列由 A/C/G/T 四个字母的排列组合组成. G 和 C 的比例(定义为 GC-Ratio )是序列中 G 和 C 两个字母的总的出现次数除以总的字母数目(也就是序 ...

  2. 牛客在线编程-华为机试-中等

    牛客在线编程题目-华为机试-中等 题号 题目 知识点 难度 通过率 HJ16 购物单 动态规划 中等 21.21% HJ17 坐标移动 字符串 中等 24.79% HJ20 密码验证合格程序 数组 字 ...

  3. 华为机试108题(C 语言解答)

    Nowcoder题库链接:华为机试 HJ1 字符串最后一个单词的长度(字符串) 输入:hello nowcoder输出:8说明: 最后一个单词为nowcoder,长度为8 示例代码: HJ1.c #i ...

  4. 【华为机试 Python实现】华为机试题集合(已更新171篇)

    文章目录 新手指引 数据结构基础 华为机试真题系列 牛客网华为机试系列 Python 八股文系列 <华为机试真题详解>专栏定价99.9 包含 <华为机试真题>的所有题目. 包含 ...

  5. 【强烈推荐收藏】坚持3个月爆肝华为机试108题C++全解(适合新手入门,就业必刷套题)

    作者:翟天保Steven 版权声明:著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处 前言 金九银十,金三银四.当前正处于校招.社招的火热期,之前就想为正在筹备就业的同学们准备刷题宝 ...

  6. 集合篇10.华为机试(涮题记录2)

    华为机试 31.成绩排序(**not) 32. 矩阵乘法 33. 24点游戏算法(not) 34.配置文件恢复 35. 查找两个字符串a.b中的最长公共子串 36.MP3光标位置(not) 37.DN ...

  7. 华为机试真题分类汇总

    1. 字符串 类别 题目 知识点 题目分值 / 难度 字符串 [华为机试真题 JAVA]TLV解析Ⅰ-100 字符串分隔.拼接.搜索 100/中等 字符串 [华为机试真题 JAVA]寻找相同子串-10 ...

  8. 华为机试-字符串子序列II

    华为机试-字符串子序列II 1.思路 2.代码 1.思路 理解这个抽象题目,其实就是一个求最长子序列的题目.求最长子序列我们一般使用动态规划来做. 与以往不同的是,我们需要倒序求最长子序列,这样可以求 ...

  9. 【华为机试真题Java】从入门到入职-真题列表导读

    写在前面 本专栏有100+道题(持续更新中),都是往期的HW机试真题,根据过往同学的经验基本都会考到原题.大家有什么不懂的都可以留言. 华为机试有三道题目,第一道和第二道属于简单或中等题,分值为100 ...

最新文章

  1. 浅谈高风险多团队协同的项目管理方法
  2. C语言从0到1·数据类型及其存储
  3. c语言如何获取串口列表,如何通过串口来读写数据,请教达人
  4. boost::filesystem模块实现打印window属性的测试程序
  5. CFA将人工智能列入考试内容折射啥
  6. java for index_Java IBarDataSet.getEntryForIndex方法代码示例
  7. matlab编程范例_编程范例到底是什么?
  8. Stateflow_报错记录
  9. Python中的列表、元组的增、删、改、查
  10. Bailian2943 小白鼠排队【排序】
  11. 基于mfc 组态软件_仪表人零基础学系统组态,必备知识!
  12. 普通二极管伏安特性和肖特基二极管电压电流特性
  13. GStreamer修改解码器默认优先级
  14. vue 用webpack打包文件名添加版本号
  15. Check Point R81.10 - 下一代防火墙 (NGFW)
  16. PostgreSQL12.3——pgAdmin4表格的创建
  17. NAACL 2021 Accepted Paper List
  18. android 9.0 10.0 去掉音量键+Power键组合键的屏幕截图功能
  19. mysql master host_MySQL5.5.28配置master-maser复制,master-host等参数不用了
  20. 移动端对比后端逐渐“式微”?在互联网大环境下如何避免久当生锈的”螺丝钉”去成为一个优秀的Android开发者?

热门文章

  1. 微信小程序——weapp-qrcode.js生成二维码、海报二维码、核销码
  2. 鸿蒙的内核版本为什么是安卓,为什么说安卓已经落后于鸿蒙OS?
  3. python从收货信息,寄件信息等字符串中,获取姓名
  4. 当遇到骗子要你转钱时,怎么把骗子弄哭……
  5. windows下编译skia库
  6. Mac OS X 10.11 EI Capitan 的iso镜像提取
  7. mathtype软件
  8. 网吧服务器维护,一个网吧维护对网吧云机房的看法
  9. WiFi模组无线技术,物联网智能家居互联互通,无线WiFi技术连接设备
  10. 2-4-4 简单实现x的n次方 (10分)