コード例 #1
0
        public void TestCase(string input, int[] expectedMaximalSuffixes)
        {
            var maximalSuffixCalculator = new MaximalSuffixCalculator(input, new CharLessComparer());
            var maximalSuffixes         = new int[input.Length];

            for (var i = 0; i < input.Length; i++)
            {
                maximalSuffixCalculator.Calculate(i + 1);
                maximalSuffixes[i] = maximalSuffixCalculator.MaximalSuffixPosition;
            }
            Assert.That(maximalSuffixes, Is.EquivalentTo(expectedMaximalSuffixes));
        }
コード例 #2
0
 public PrefixFactorizer([NotNull] string word)
 {
     maximalSuffixCalculatorForLess    = new MaximalSuffixCalculator(word, new CharLessComparer());
     maximalSuffixCalculatorForGreater = new MaximalSuffixCalculator(word, new CharGreaterComparer());
 }