Wawancara 150 TeratasMudah

Penyimpanan Nilai Kunci Berbasis Waktu

Panduan terperinci dan implementasi Python untuk masalah 'Penyimpanan Nilai Kunci Berbasis Waktu'.

Pernyataan Masalah

Mudah

Rancang struktur data nilai kunci berbasis waktu yang dapat menyimpan beberapa nilai untuk kunci yang sama pada stempel waktu berbeda dan mengambil nilai kunci pada stempel waktu tertentu.

Implementasikan kelas TimeMap:

- TimeMap() Menginisialisasi objek.

- set(key: str, value: str, timestamp: int) Menyimpan kunci key dengan nilai value pada waktu tertentu timestamp.

- get(key: str, timestamp: int) -> str Mengembalikan nilai sehingga set dipanggil sebelumnya, dengan timestamp_prev <= timestamp. Jika ada beberapa nilai seperti itu, ini akan mengembalikan nilai yang terkait dengan timestamp_prev terbesar. Jika tidak ada nilai, ia mengembalikan "".

Kendala
  • 1 <= key.length, value.length <= 100
  • key and value consist of lowercase English letters and digits
  • 1 <= timestamp <= 10^7
  • All timestamps of set are strictly increasing for each key
  • At most 2 * 10^5 calls will be made to set and get

Contoh

Example 1
Input
["TimeMap", "set", "get", "get", "set", "get", "get"]
[[], ["foo", "bar", 1], ["foo", 1], ["foo", 3], ["foo", "bar2", 4], ["foo", 4], ["foo", 5]]
Output
[None, None, "bar", "bar", None, "bar2", "bar2"]
Explanation

set("foo", "bar", 1): stores bar at time 1. get("foo", 1): returns "bar". get("foo", 3): returns "bar" (latest value at or before time 3). set("foo", "bar2", 4): stores bar2 at time 4. get("foo", 4): returns "bar2". get("foo", 5): returns "bar2".

Need a Hint?
Pertimbangkan untuk menggunakan struktur data khusus Pencarian Biner seperti kumpulan atau tumpukan.
Edge Cases to Watch
  • Struktur masukan kosong
  • Masukan elemen tunggal
  • Batasan angka yang besar

Siap Memecahkannya?

Open the problem in PyRun's browser-based Python editor. Your code runs fully offline — no server required.

Buka di Editor
Found this breakdown helpful?

PyRun is built and maintained by an independent solo developer. If this helped your interview prep, consider buying a coffee!

Buy me a coffee

Sumber Daya Python yang Direkomendasikan

Perluas pengetahuan Anda dengan tutorial interaktif terkait, lembar contekan, dan perbandingan kode.