Таким образом, число соседей, которое имеет строка с «8», представляет собой сумму:
- Количество 7
- Количество 8
- Количество9's
Простое решение:
Создайте словарь, индексированный по количеству, со значением, равным количеству строк с этим счетом.
Пройдите через вашТаблица.Для каждой строки добавьте один к соответствующему значению счетчика словаря.Итак, когда вы видите строку «A», вы добавляете 1 к счету для ключа 8. Когда вы видите строку «B», вы добавляете 1 к счету для ключа 6 и т. Д. Когда вы закончите, счетдля ключа 8 будет 2. Ключ 6 будет иметь счет 1 и т. д.
Пройдите через таблицу снова.Для каждого элемента выведите ключ, его количество и суммы из трех значений словаря: dictionary[count] + dictionary[count-1] + dictionary[count+1]
.
Алгоритм O (n), с O (n) дополнительным пробелом (для словаря).