using System; public class Indexer { // Это выборка слов вида id документа : список слов. // Такое представление выбрал я сам, и его можно изменить. private Dictionary> words = new Dictionary> { }; // Этот метод по слову и id документа должен искать все позиции, // в которых слово начинается. // Сложность - O(result) public List GetPositions(int id, string word) { var result = new List(); 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; } }