Memoization — кеширование результатов функции для повторных вызовов с теми же аргументами. Классический пример: рекурсивный Фибоначчи без мемоизации — O(2ⁿ), с мемоизацией — O(n). В Go делаешь через map: memo := map[int]int{}, перед вычислением проверяешь, есть ли результат в map. Это top-down подход к dynamic programming. Мемоизация полезна, когда функция чистая (без побочных эффектов) и вызывается с одинаковыми аргументами. Для конкурентного доступа — sync.Map или мьютекс.
Что такое memoization?
Middle
479 просмотровAFK Offer AI
Задача: reverse linked list — разверните односвязный список