Платежи между кошельками
Так можно смоделировать простую систему переводов: деньги списываются у отправителя и добавляются получателю. Дан словарь balances с балансами пользователей и список transfers, где каждый перевод задан как from, to, amount. Применяй переводы по порядку: если у отправителя хватает средств, выполни перевод, иначе пропусти его. Верни итоговый словарь балансов.
Примеры
Ввод
{"a": 100, "b": 0}, [["a", "b", 30]]Вывод
{"a": 70, "b": 30}Ввод
{"a": 10, "b": 0}, [["a", "b", 50]]Вывод
{"a": 10, "b": 0}Ввод
{"a": 100, "b": 0, "c": 0}, [["a", "b", 40], ["b", "c", 40], ["a", "c", 60]]Вывод
{"a": 0, "b": 0, "c": 100}Нужно реализовать
def apply_transfers(balances: dict, transfers: list) -> dict:
Теги
dicthashmap
Войдите, чтобы видеть историю отправок
ВойтиВойдите, чтобы использовать AI Mentor
ВойтиВидимые тесты
1
Ввод
{"a":100,"b":0}, [["a","b",30]]Ожидаемый
{"a":70,"b":30}2
Ввод
{"a":10,"b":0}, [["a","b",50]]Ожидаемый
{"a":10,"b":0}3
Ввод
{"a":100,"b":0,"c":0}, [["a","b",40],["b","c",40],["a","c",60]]Ожидаемый
{"a":0,"b":0,"c":100}4
Ввод
{"a":50,"b":50}, [["a","b",50],["b","a",100]]Ожидаемый
{"a":100,"b":0}5
Ввод
{"a":5}, [["a","z",1]]Ожидаемый
{"a":5}6
Ввод
{"a":100,"b":0,"c":0}, [["a","b",40]]Ожидаемый
{"a":60,"b":40,"c":0}Фокус-радио
На паузе · SomaFM · Fluid