
joinNumber
Là một thầy giáo, Ngạn đã chuẩn bị một dãy số rất dài để phục vụ cho tiết học sắp tới. Không may khi đến nhà Ngạn chơi, Trà Long đã nghịch ngợm cắt dãy số mà Ngạn cất công nhiều ngày để chuẩn bị thành nhiều mảnh. Kết quả là trên mỗi mảnh có một hoặc vài kí tự số theo thứ tự đã viết. Ngạn giận lắm nhưng cũng không nỡ giận Trà Long nên đã ra một câu đố cho cô bé, nếu Trà Long trả lời được thì Ngạn hứa sẽ hết giận.
Đó là tìm số có nghĩa nhỏ nhất và lớn nhất ghép được từ các mảnh mà Trà Long đã cắt ra. Số có nghĩa ở đây là số không bắt đầu bằng chữ số 0
. Bạn hãy giúp Trà Long trả lời câu đố trên để cho Ngạn ngui giận.
Ví dụ:
- Với
a =
["37", "3"]
thì dễ dàng ghép được số nhỏ nhất là337
và số lớn nhất là373
nênjoinNumber(a) =
["337", "373"]
. - Với
a =
["023","2","13"]
thìjoinNumber(a) =
["130232","213023"]
. Do023132
không phải là số có nghĩa nên số nhỏ nhất là130232
.
Đầu vào/Đầu ra:
- [Thời gian] 0.5s với C++, 3s với Java và C#, 4s với Python, Go và JavaScript.
- [Đầu vào] Array of Strings a
Dãy biểu diễn các các số trên các mảnh được cắt ra. Bảo đảm rằng rằng các mảnh đều có ít nhất1
kí tự số và có ít nhất một mảnh mà kí số đầu tiên khác0
.1 ≤ a.size() ≤ 100
[Đầu ra] Array of Strings
Lần lượt số nhỏ nhất và số lớn nhất có thể ghép được từ các mảnh trên.
Post Comment