Practice Exercise 5.2

Source Code

import java.util.ArrayList;
import java.util.List;

public class BoyerMoore {
    public List<Integer> match(String P, String T) {
        int n = T.length();
        int m = P.length();

        int e = 256;
        int left[][] = new int[m][e];
        for (int i = 0; i < m; i++)
            for (int j = 0; j < e; j++)
                left[i][j] = -1;
        for (int i = 0; i < m; i++) {
            if (i != 0)
                for (int j = 0; j < e; j++)
                    left[i][j] = left[i - 1][j];
            left[i][P.charAt(i)] = i;
        }

        // write your code here

        return null;
    }

    public static void main(String[] args) {
        BoyerMoore bm = new BoyerMoore();
        List<Integer> matches = bm.match("rabrabracad", "abacadabrabracabracadabrabrabracad");
        for (Integer i : matches)
            System.out.println(i);
    }
}

Last updated