Loading Now

nextLexOrder

Thứ tự từ điển thường được biết đến như là thứ tự theo bảng chữ cái khi xử lý dữ liệu chuỗi. Một chuỗi S được cho là lớn hơn một chuỗi T nếu như S xếp sau chuỗi T khi sắp xếp theo thứ tự từ điển.

Cho một từ chỉ bao gồm các chữ cái từ a đến z in thường, tạo ra một từ mới bằng cách thay đổi một vài hoặc tất cả kí tự của từ gốc và từ mới đó phải thỏa mãn 2 tiêu chí sau:

  • Nó phải lớn hơn từ gốc.
  • Nó phải là từ nhỏ nhất trong tất cả các từ thỏa tiêu chí đầu tiên.

Nhiệm vụ của bạn là trả về từ mới dựa vào từ gốc và thỏa mãn các tiêu chí trên, nếu không tìm thấy trả về "Not found!".

Ví dụ:

  • Với từ w = "abcd", thì output sẽ là nextLexOrder(w)="abdc".
  • Với từ w = "bb", thì output sẽ là nextLexOrder(w)="Not found!".

Đầ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 w
    1 ≤ w.length ≤ 100
    w bao gồm các kí tự chữ cái [a..z]
  • [Đầu ra] String
    Từ thỏa mãn 2 tiêu chí trên, nếu không tồn tại thì trả về "Not found!"

Post Comment

Contact