Ошибка на hackerrank.com

Jun 24, 2020 22:51

Задание: https://www.hackerrank.com/challenges/short-palindrome/problem

Моё решение:

static int shortPalindrome(string s)
{
var mod = 1_000_000_000 + 7;
var CHARS = s.Distinct().ToArray();
var DICT_SHIFT = 26 + 4;
int A = 'a';
var SET_SIZE = 27;
var d = new long[SET_SIZE][][][];
foreach (int ch in Enumerable.Range(0, SET_SIZE))
{
d[ch] = new long[SET_SIZE][][];
foreach (int any in Enumerable.Range(0, SET_SIZE))
{
d[ch][any] = new long[SET_SIZE][];
foreach (int any2 in Enumerable.Range(0, SET_SIZE))
{
d[ch][any][any2] = new long[SET_SIZE];
}
}
}
foreach (var c in s)
{
var ch = c - A + 1;
//i.Dump();
foreach (int a in CHARS)
{
var any = a - A + 1;
{
d[ch][any][any][ch] = (d[ch][any][any][ch] + d[ch][any][any][0]) % mod;
}
{
d[any][ch][ch][0] = (d[any][ch][ch][0] + d[any][ch][0][0]) % mod;
}
{
d[any][ch][0][0] = (d[any][ch][0][0] + d[any][0][0][0]) % mod;
}
}
d[ch][0][0][0] = (d[ch][0][0][0] + 1) % mod;
}
long sum = 0;
foreach (var c in CHARS)
{
var ch = c - A + 1;
foreach (var a in CHARS)
{
var any = a - A + 1;
var count1221 = d[ch][any][any][ch];
sum = (sum + count1221) % mod;
}
}
//sum.Dump();
return (int) sum;
}
Мой ответ на 34 тест:
строка: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa....
ответ: 736_432_363

А они говорят, что у меня неправильный ответ:



Previous post Next post
Up