Middle — Senior
Creați o funcție care acceptă un array de numere și returnează un șir cu intervalele numerelor consecutive?
sobes.tech AI
Răspuns de la AI
Mai jos este un exemplu de funcție în Python care acceptă un array sortat de numere și returnează un șir de caractere cu intervale de numere consecutive. Numerele consecutive sunt unite în intervale de tip "start-end", iar numerele individuale sunt afișate așa cum sunt.
def ranges_to_string(nums):
if not nums:
return ""
intervale = []
start = anterior = nums[0]
for num in nums[1:]:
if num == anterior + 1:
anterior = num
else:
if start == anterior:
intervale.append(str(start))
else:
intervale.append(f"{start}-{anterior}")
start = anterior = num
# Adaugă ultimul interval
if start == anterior:
intervale.append(str(start))
else:
intervale.append(f"{start}-{anterior}")
return ",".join(intervale)
# Exemplu de utilizare
arr = [1, 2, 3, 5, 6, 8, 9, 10]
print(ranges_to_string(arr)) # Va afișa: 1-3,5-6,8-10