Menu
CoddyTech

Minimum Window Substring

Kamu mendapatkan dua string, s dan t. Temukan substring terpendek dari s yang berisi setiap karakter dari t, termasuk karakter yang berulang: jika t berisi sebuah huruf dua kali, substring tersebut harus berisi huruf itu setidaknya dua kali. Urutannya tidak penting, dan karakter lain juga boleh muncul.

Jika ada beberapa substring terpendek, kembalikan yang paling kiri. Jika tidak ada substring yang berisi semua karakter dari t, kembalikan string kosong.

Fungsi

minWindow(s: string, t: string) → string
sstring
string yang akan dicari
tstring
karakter yang harus ada di jendela, termasuk karakter yang berulang
Mengembalikanstring
substring terpendek, lalu yang paling kiri, dari s yang memuat semua t, atau string kosong

Batasan

  • 1 ≤ s.length ≤ 5 × 104
  • 1 ≤ t.length ≤ 104
  • s dan t hanya berisi huruf bahasa Inggris. Huruf besar dan huruf kecil adalah karakter yang berbeda.
  • Jika ada beberapa substring yang paling pendek, jawabannya adalah yang paling kiri; jika tidak ada, jawabannya adalah "".

Contoh

Input
s = "mappingtheplan"t = "nap"
Output
"plan"
Penjelasan
Jendela pertama dari kiri yang memuat n, a, dan p adalah appin, lima karakter. plan memuat ketiganya dalam empat karakter, dan tidak ada rangkaian tiga karakter yang memuat semuanya.
challenge icon

Pertanyaan lanjutan

Ketika t memakai sedikit huruf dan s panjang, sebagian besar s tidak pernah berpengaruh. Bisakah kamu membuat jendela melompat hanya di antara posisi yang berisi huruf dari t?

Reset kode
def minWindow(s, t):
    # Tulis kodemu di sini

Tes #1

Tes #2

Tes #3

Argumen

s = "mappingtheplan"
t = "nap"

Output yang diharapkan

"plan"