(UA) IT/Tech Ukrainians in Canada
-
щось ніяк не можу поки вїхати як воно працює
-
а, в тебе ніби 1
-
а, все, розібрався, цікаво чи трюк з setTimeout приймають на співбесідах
-
🤔 Новини по мобілізаційному законопроекту будуть скоро і вони погані, — Гончаренко ❤️ Підписатися | @uanova⚡️
-
знімав в юсд кеш, йшов в обмінник continental exchange і міняв
-
Додатково створити doubly linked list, де зберігати node value and time to expire In get average iterate over that ll to remove all expired elements When you put already exiting key with new value - modify that ll accordingly
-
Ты ж не скинул про него инфу)
-
створюєш пять інстанс проперті: data - звичайний хешмеп де зберігаєш ключ-значення ttl_map - хешмеп де ключ - тайм ту ікспайр queue_ll = імплементиш чергу у вигляді doubly_linked_list, де кожна нода зберігає ключ і тайм ту ікспайр node_map - хешмеп де ключ-нода з списку вище total_sum - ну тут ясно в get методі просто дістаєш значення з data, попередньо перевіряючи за допомогою ttl_map чи воно ще не заекспайрилось. в set методі записуєш значення і ТТІ, якщо ключ вже існує - оновлюєш відповідно queue_ll, в іншому випадку додаєш нову ноду в кінець в двох методах вище оновлюєш total_sum відповідно в getAverage перед тим як поділити total_sum на довжину data, видалити заекспайрені ключі, ітеруючись по queue_ll і заапдейтити total_sum Не кажу, що це оптимальний варіант, але до іншого не додумався 😶
-
И там, и там оч классная природа, круто