Menu
CoddyTech

Permutation in String

Hoán vị của một chuỗi gồm các chữ cái giống nhau theo thứ tự bất kỳ, mỗi chữ cái xuất hiện số lần bằng với chuỗi ban đầu: tar, rat và art là các hoán vị của nhau. Bạn có hai chuỗi s1 và s2 gồm các chữ cái tiếng Anh viết thường. Trả về true nếu một hoán vị nào đó của s1 xuất hiện trong s2 dưới dạng chuỗi con (một dãy ký tự liên tiếp), nếu không thì trả về false.

Hàm

checkInclusion(s1: string, s2: string) → boolean
s1string
các chữ cái cần sắp xếp lại
s2string
chuỗi cần tìm trong
Trả vềboolean
true nếu một chuỗi con của s2 là một hoán vị của s1

Ràng buộc

  • 1 ≤ s1.length ≤ 2 × 104
  • 1 ≤ s2.length ≤ 5 × 104
  • s1 và s2 chỉ chứa các chữ cái tiếng Anh viết thường (a đến z).
  • s1 có thể dài hơn s2.

Ví dụ

Đầu vào
s1 = "tar"s2 = "smartphone"
Đầu ra
true
Giải thích
Chuỗi con art ở các chỉ số từ 2 đến 4 của smartphone có một a, một r và một t, cùng các ký tự với tar.
challenge icon

Câu hỏi mở rộng

Bạn có thể trả về mọi chỉ số trong s2 nơi một hoán vị của s1 bắt đầu, vẫn trong thời gian O(m + n) không?

Đặt lại code
def checkInclusion(s1, s2):
    # Viết code ở đây

Kiểm thử #1

Kiểm thử #2

Kiểm thử #3

Đối số

s1 = "tar"
s2 = "smartphone"

Đầu ra mong đợi

true