vendredi 7 août 2020

Maximum consecutive repeats of a substring in a given string using string library in Java

I'm trying to find the maximum consecutive repeats of a substring in a given string. I'm using substring(), equals(), and length() methods from the String library. However, I don't get the correct result. Here's my code-

 public static int maxRepeats(String dna) {
        int max = 0;
        int count = 0;
        for (int i = 0; i < dna.length() - 3; i++) {
            String s = dna.substring(i, i + 3);
            if (s.equals("CAG")) {
                count++;
                i += 2;
            }
            if (!s.equals("CAG")) {
                max = count;
                count = 0;
            }
        }
        return max;
    }

Let for example dna= "CAGCAGCAGTTCAGCAGCAGCAGTTCAGCAGCAG"

Then, max consecutive repeats of substring "CAG" = 4 ---> expected output

But for this substring or any substring, this is the result I get-

max repeats = 0

Would be grateful if someone pointed out where am I wrong :-)

Aucun commentaire:

Enregistrer un commentaire