private static int[] ShiftTable(string pattern)
{
int[] table = new int[256];
for (int i = 0; i < table.Length; i++)
{
table[i] = pattern.Length - 1;
}
for (int j = 0; j <= pattern.Length - 2; j++)
{
table[(int)pattern[j]] = pattern.Length - 1 - j;
}
return table;
}