Repeated DNA Sequences

All DNA is composed of a series of nucleotides abbreviated as A, C, G, and T, for example: "ACGAATTCCG". When studying DNA, it is sometimes useful to identify repeated sequences within the DNA.

Write a function to find all the 10-letter-long sequences (substrings) that occur more than once in a DNA molecule.

For example,

Given s = "AAAAACCCCCAAAAACCCCCCAAAAAGGGTTT",

Return: ["AAAAACCCCC", "CCCCCAAAAA"].

Solution

public class Solution {
     public List<String> findRepeatedDnaSequences(String s) {
        Set<String> result = new HashSet<>();
        Set<String> set = new HashSet<>();
        for(int i = 0; i <= s.length()-10; i ++) {
            String cur = s.substring(i, i +10);
            if (set.contains(cur)) {
                result.add(cur);
                continue;
            }

            set.add(cur);
        }

        return result.stream().collect(Collectors.toList());

    }
}

results matching ""

    No results matching ""