Инициализированный в методе dict
сохраняет числа на входе в качестве ключей, а их индексы - в качестве значений.Программа использует это, чтобы запомнить, какой номер где.dict
может сообщать вам такие вещи, как «число 2 с индексом 0».
Для каждого числа num
с индексом i
во входном массиве мы вычитаем num
из target
чтобы найти другой номер, который нам нужен, чтобы они суммировали до target
.
Теперь у нас есть другой номер, который нам нужен, мы проверяем, видели ли мы такой номер раньше,путем поиска dict
.Это то, что делает часть if let lastIndex = dict[target - num]
.Если dict
знает, по какому индексу находится другое число, мы возвращаем этот индекс и i
.
Если мы не видели этого числа раньше, мы записываем i
в словарь подключ num
, надеясь, что на более поздних итерациях мы сможем найти число, которое при добавлении к num
составляет 9.