java中如何查看重复的DNA序列
发表于:2025-01-31 作者:千家信息网编辑
千家信息网最后更新 2025年01月31日,本文将为大家详细介绍"java中如何查看重复的DNA序列",内容步骤清晰详细,细节处理妥当,而小编每天都会更新不同的知识点,希望这篇"java中如何查看重复的DNA序列"能够给你意想不到的收获,请大家
千家信息网最后更新 2025年01月31日java中如何查看重复的DNA序列
本文将为大家详细介绍"java中如何查看重复的DNA序列",内容步骤清晰详细,细节处理妥当,而小编每天都会更新不同的知识点,希望这篇"java中如何查看重复的DNA序列"能够给你意想不到的收获,请大家跟着小编的思路慢慢深入,具体内容如下,一起去收获新知识吧。
所有 DNA 由一系列缩写为 A,C,G 和 T 的核苷酸组成,例如:"ACGAATTCCG"。在研究 DNA 时,识别 DNA 中的重复序列有时会对研究非常有帮助。
编写一个函数来查找 DNA 分子中所有出现超过一次的10个字母长的序列(子串)。
示例:
输入: s = "AAAAACCCCCAAAAACCCCCCAAAAAGGGTTT"
输出: ["AAAAACCCCC", "CCCCCAAAAA"]
答案:
1public List findRepeatedDnaSequences(String s) {
2 Set seen = new HashSet();
3 Set repeated = new HashSet();
4 for (int i = 0; i + 9 < s.length(); i++) {
5 String ten = s.substring(i, i + 10);
6 if (!seen.add(ten))
7 repeated.add(ten);
8 }
9 return new ArrayList(repeated);
10}
解析:
意思是每次截取10个字符的子串,并且这种字串出现的次数超过一次,代码很简单,每次截取的时候都会存放到seen集合中,如果存放失败,表示出现了重复,再来看一种写法
1public List findRepeatedDnaSequences(String s) {
2 Set words = new HashSet<>();
3 Set repeated = new HashSet<>();
4 char[] map = new char[26];
5 //map['A' - 'A'] = 0;
6 map['C' - 'A'] = 1;
7 map['G' - 'A'] = 2;
8 map['T' - 'A'] = 3;
9 for (int i = 0; i < s.length() - 9; i++) {
10 int v = 0;
11 for (int j = i; j < i + 10; j++) {
12 v <<= 2;
13 v |= map[s.charAt(j) - 'A'];
14 }
15 if (!words.add(v)) {
16 repeated.add(s.substring(i, i + 10));
17 }
18 }
19 return new ArrayList(repeated);
20}
这种解法和第一种其实原理都是一样的,只不过这里存储的是一个int类型,因为0,1,2,3分别表示的是ACGT,int类型的每两位用来存储ACGT中一个,我们还可以每3位存储,最多也就是30位,小于int类型的32位,就是把下面第12行的v<<=2改为v<<=3。但不能每4位存储,因为这样超过了int的范围。
java基本数据类型有哪些
Java的基本数据类型分为:1、整数类型,用来表示整数的数据类型。2、浮点类型,用来表示小数的数据类型。3、字符类型,字符类型的关键字是"char"。4、布尔类型,是表示逻辑值的基本数据类型。
如果你能读到这里,小编希望你对"java中如何查看重复的DNA序列"这一关键问题有了从实践层面最深刻的体会,具体使用情况还需要大家自己动手实践使用过才能领会,如果想阅读更多相关内容的文章,欢迎关注行业资讯频道!
类型
序列
数据
存储
内容
字符
整数
实践
研究
不同
妥当
意想不到
也就是
代码
关键
关键字
写法
函数
分子
原理
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
网络管理或服务器管理
云服务器架设的游戏本地不能玩
数据库条件求和怎么写
湖南智嘉软件开发江苏扬州
江苏诚信网络技术服务哪个正规
数据库的唯一性约束
高旗软件开发
数据库开发与应用软件哪个难
数据库中的关键字咋办
网页版效果图软件开发原理
绝地求生服务器灰色
hp 服务器登录管理口老闪退
期刊数据库
ih数据库与SQL的关系
代理服务器没有声音怎么办
网络安全进阶课程教程
网络安全宣传日主题班会教案
贵阳网络安全工资
ogg数据库技术的缺点
ftp客户端显示服务器目录
服务器内存 单根8和单根16
开展网络安全工作自查报告
奉贤区项目软件开发定制收费
数据库中元组什么来的
数据库营销代理商
杨浦区软件开发要多少钱
计算机网络技术相关技能
数据库约束表达式
阳泉学网络技术
有服务器的ip怎么远程连接呢