Loading Now

canSwitchString

Mỗi một lượt xử lý, bạn có thể chọn 1 trong 2 thao tác sau:

  • Chọn 1 vị trí và thay đổi ký tự ở vị trí đó thành 1 ký tự khác.
  • Hoán đổi vị trí của hai ký tự cho nhau.

Bạn hãy tính xem cần ít nhất bao nhiêu thao tác để biến đổi chuỗi s1 thành s2. Nếu không thể biến đổi, trả về -1.

Ví dụ:

Với s1 = "abcd" và s2 = "badd" thì canSwitchString(s1, s2) = 2
Lần một, ta hoán đổi vị trí ký tự ‘a’ và ‘b’.
Lần 2, ta biến ký tự ‘c’ thành ‘d’.

Đầu vào/Đầu ra:

  • [Thời gian chạy] 0.5s với C++, 3s với Java và C#, 4s với Python, Go và JavaScript.

  • [Đầu vào] String s1, s2
    1 <= s1.length, s2.length <= 10^5

  • [Đầu ra] Integer.

Post Comment

Contact