java中如何查看重复的DNA序列
发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,本文将为大家详细介绍"java中如何查看重复的DNA序列",内容步骤清晰详细,细节处理妥当,而小编每天都会更新不同的知识点,希望这篇"java中如何查看重复的DNA序列"能够给你意想不到的收获,请大家
千家信息网最后更新 2026年11月01日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安全错误
数据库的锁怎样保障安全
小米移动互联网科技园
有格互联网科技
互联网科技产业
平安科技 互联网
浩特互联网科技
南京欣网互联网科技
润盈互联网科技
美国互联网前沿科技
哈尔滨秒房互联网科技有限公司
深圳市运趣互联网科技有限公司
互联网汽车科技小镇
隆华科技工业互联网
互联网科技中介
洛阳昕诺飞互联网科技有限公司
深圳市罗太互联网科技有限公司
明优互联网科技有限公司
恒生互联网科技业指数调整周期
山东子淼互联网科技有限公司
锡山区互联网智能科技产品供应
网互联网络科技
互联网科技公司华为
科技创新与互联网经济
互联网与科技发展
百单互联网科技有限公司
隆华科技工业互联网
金融科技与互联网金融相同和不同
岳阳华臻互联网科技有限公司
互联网在线教育科技创业
上海京穆互联网科技有限公司
杭州科技互联网公司有哪些