Loading Now

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 ra splitRange(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

Contact