981. Time Based Key-Value Store - Medium
前往題目
之前的文章
想法
Hashmap
儲存鍵值對,重點是如何根據timestamp
取得同一個或是最相近timestamp
的key
呢- 題目說
timestamp
和set
都是嚴格遞增的,所以不會出現重複的時間戳,那是不是可以組timestamp -> value
思路
大致上有兩種做法
- 使用
Pair
- 使用
TreeMap
這裡使用pair
,舊的那篇兩個方法都有寫
- 利用
Hashmap
儲存key
與value
的關係,其中value
要使用list<pair<>>
來儲存,也就是pair
裡面儲存的是value
與timestamp
的組合,至於會有幾種組合不知道所以用list
,ArrayList
實作 set
方法很簡單,把資料放進map
就好get
則是利用binary search
在key
的list
裡面搜尋,因為timestamp
是照順序的,所以所有的pair
預設就已經照著timestamp
排序完成了
Code
這次寫的又和以前的不太一樣,search
那邊的邏輯有變更,額外使用了cand(candidate)
變數來儲存可能的結果
981. Time Based Key-Value Store - Medium
https://f88083.github.io/2024/02/18/981-Time-Based-Key-Value-Store-Medium/