Loading Now

passwordLock

Bé Misa có một ổ khóa được mở bằng mật khẩu số.

Ở trên ổ khóa có n vòng xoay và mỗi vòng xoay được đánh số từ 0 đến 9. Sau khi cài đặt mật khẩu xong, Misa muốn mở khóa ra với mật khẩu đã biết.

Cho chuỗi a là trạng thái ổ khóa hiện tại, chuỗi b là mật mã của ổ khóa.

Hãy giúp bé Misa tìm số bước xoay ít nhất tại mỗi vòng xoay để tiết kiệm thời gian khi mở khóa.

Ví dụ:

  • Với a = "194", b = "132", thì passwordLock(a,b)=6.
    Giải thích: Misa cần 6 bước để mở khóa đó là:
    • Với chữ số thứ 1 đã đúng với mật mã nên không cần xoay.
    • Với chữ số thứ 2 bé Misa sẽ xoay 4 bước là: 9->0->1->2->3.
    • Với chữ số thứ 3 bé Misa sẽ xoay 2 bước là: 4->3->2.

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

  • [Thời gian] 0.1s với C++, 0.6s với Java và C#, 0.8s với Python, Go và JavaScript.
  • [Đầu vào] String s
    1 ≤ s.length ≤ 1000.
  • [Đầu ra] Integer.
    Số bước xoay ít nhất để bé Misa mở được ổ khóa.

Post Comment

Contact