题解 | #DNA序列#
DNA序列
https://www.nowcoder.com/practice/e8480ed7501640709354db1cc4ffd42a
import java.util.*; // 注意类名必须为 Main, 不要有任何 package xxx 信息 public class Main { public static void main(String[] args) { test63(); } public static void test63() { Scanner in = new Scanner(System.in); // 注意 hasNext 和 hasNextLine 的区别 while (in.hasNext()) { // 注意 while 处理多个 case String a = in.nextLine(); int b = in.nextInt(); // 求结果集,连续的子序列 List<String> result = new ArrayList<>(); for (int i = 0; i <= a.length() - b; i++) { result.add(a.substring(i, i + b)); } // 求CG出现的次数 int[] num = new int[result.size()]; for (int i = 0; i < result.size(); i++) { char[] ch = result.get(i).toCharArray(); int n = 0; for (int j = 0; j < b; j++) { if (ch[j] == 'C' || ch[j] == 'G') { n++; } } num[i] = n; } // 求最大值 int max = 0; for (int i = 0; i < num.length; i++) { max = Math.max(max, num[i]); } // 求最大值索引 int index = 0; for (int i = 0; i < num.length; i++) { if (num[i] == max) { index = i; break; } } System.out.println(result.get(index)); } } }