using System;
public class Indexer
{
// Это выборка слов вида id документа : список слов.
// Такое представление выбрал я сам, и его можно изменить.
private Dictionary< int , List< string>> words = new Dictionary< int , List< string>> { } ;
// Этот метод по слову и id документа должен искать все позиции,
// в которых слово начинается.
// Сложность - O(result)
public List< int> GetPositions( int id, string word)
{
var result = new List< int> ( ) ;
int count = 0 ;
foreach ( var getWord in words[ id] )
{
if ( getWord.Equals ( word) )
result.Add ( count) ;
if ( getWord == "" ) count++;
else count = count + getWord.Length + 1 ;
}
return result;
}
}
dXNpbmcgU3lzdGVtOwoKcHVibGljIGNsYXNzIEluZGV4ZXIKewogICAgLy8g0K3RgtC+INCy0YvQsdC+0YDQutCwINGB0LvQvtCyINCy0LjQtNCwIGlkINC00L7QutGD0LzQtdC90YLQsCA6INGB0L/QuNGB0L7QuiDRgdC70L7Qsi4KICAgIC8vINCi0LDQutC+0LUg0L/RgNC10LTRgdGC0LDQstC70LXQvdC40LUg0LLRi9Cx0YDQsNC7INGPINGB0LDQvCwg0Lgg0LXQs9C+INC80L7QttC90L4g0LjQt9C80LXQvdC40YLRjC4KICAgIHByaXZhdGUgRGljdGlvbmFyeTxpbnQsIExpc3Q8c3RyaW5nPj4gd29yZHMgPSBuZXcgRGljdGlvbmFyeTxpbnQsIExpc3Q8c3RyaW5nPj4geyB9OwoKICAgIC8vINCt0YLQvtGCINC80LXRgtC+0LQg0L/QviDRgdC70L7QstGDINC4IGlkINC00L7QutGD0LzQtdC90YLQsCDQtNC+0LvQttC10L0g0LjRgdC60LDRgtGMINCy0YHQtSDQv9C+0LfQuNGG0LjQuCwgCiAgICAvLyDQsiDQutC+0YLQvtGA0YvRhSDRgdC70L7QstC+INC90LDRh9C40L3QsNC10YLRgdGPLiAKICAgIC8vINCh0LvQvtC20L3QvtGB0YLRjCAtIE8ocmVzdWx0KQogICAgcHVibGljIExpc3Q8aW50PiBHZXRQb3NpdGlvbnMoaW50IGlkLCBzdHJpbmcgd29yZCkKICAgIHsKICAgICAgICB2YXIgcmVzdWx0ID0gbmV3IExpc3Q8aW50PigpOwogICAgICAgIGludCBjb3VudCA9IDA7CiAgICAgICAgZm9yZWFjaCAodmFyIGdldFdvcmQgaW4gd29yZHNbaWRdKQogICAgICAgIHsKICAgICAgICAgICAgaWYgKGdldFdvcmQuRXF1YWxzKHdvcmQpKQogICAgICAgICAgICAgICAgICAgICAgIHJlc3VsdC5BZGQoY291bnQpOwogICAgICAgICAgICBpZiAoZ2V0V29yZCA9PSAiIikgY291bnQrKzsKICAgICAgICAgICAgZWxzZSBjb3VudCA9IGNvdW50ICsgZ2V0V29yZC5MZW5ndGggKyAxOwogICAgICAgIH0KICAgICAgICByZXR1cm4gcmVzdWx0OwogICAgfQp9
compilation info
prog.cs(7,13): error CS0246: The type or namespace name `Dictionary' could not be found. Are you missing `System.Collections.Generic' using directive?
prog.cs(12,12): error CS0246: The type or namespace name `List' could not be found. Are you missing `System.Collections.Generic' using directive?
Compilation failed: 2 error(s), 0 warnings
stdout