
splitRange
Cho một mảng arr
được sắp xếp tăng dần. Hãy rút gọn mảng theo những quy tắc sau:
- Nếu các số từ a đến b là liên tiếp thì chuyển thành a->b
- Nếu chỉ có 1 số thỏa mãn thì chỉ cần in ra số đó
Ví dụ:
- Với
arr = [0,1,2,4,5,7]
. Đầu rasplitRange(arr) = ["0->2","4->5","7"]
.
Giải thích:- Các số từ 0 đến 2 là liên tiếp thì ra sẽ rút gọn thành 0->2
- Các số từ 4 đến 5 là liên tiếp thì ta sẽ rút gọn thành 4->5
- Đối với số 7 chỉ duy nhất nên ta sẽ in ra 7
Đầ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] matrix of integer arr.
1 ≤ arr.size ≤ 105
1 ≤ arr[i] ≤ 109
- [Đầu ra] matrix of string.
Mảng sau khi được biến đổi
Post Comment