public List <Transaction> Solution(int startStation, int endStation, int startTime) { InitializeBigTransportMap(startTime); if (!IsWaysExist(BigTransportMap, startStation, endStation, startTime)) { return(new List <Transaction>()); } List <Transaction> resultMatrix = new List <Transaction>(); //После всех проверок генерируем карту переездов от станции отправления. resultMatrix = BigTransportMap.Where(x => x.StartStation == startStation && x.StartTime >= Buses.Min(y => y.StartTime)).ToList(); //. GroupBy(x => x.BusId);//Отбираем транзакции по следующей станции прибытия Transaction resultOnCostTransaction = new Transaction(); Transaction resultOnLenghtTransaction = new Transaction(); // Для данной оценки задать начальное значение, как список станций + 1 InitializeMarks(ref resultOnLenghtTransaction, ref resultOnCostTransaction); SolutionIteration(resultMatrix, endStation, ref resultOnLenghtTransaction, ref resultOnCostTransaction); resultMatrix.Clear(); resultMatrix.Add(resultOnLenghtTransaction); resultMatrix.Add(resultOnCostTransaction); return(resultMatrix); }