Intern
Įgyvendinkite funkciją, kuri priima sveikųjų skaičių sąrašą ir grąžina ilgiausios iš eilės esančios vienodų skaičių sekos ilgį. Sekos laikomos iš eilės, jei elementai yra šalia vienas kito pradinėje sąraše.
sobes.tech AI
Atsakymas iš AI
go func longestEqualSequence(nums []int) int { if len(nums) == 0 { return 0 }
maxLen := 1
currentLen := 1
for i := 1; i < len(nums); i++ {
if nums[i] == nums[i-1] {
currentLen++
if currentLen > maxLen {
maxLen = currentLen
}
} else {
currentLen = 1
}
}
return maxLen
}
Функция итерируется по слайсу, сравнивая текущий элемент с предыдущим. Если они равны, увеличивает счётчик текущей последовательности. Если нет — сбрасывает счётчик. В конце возвращает максимальную длину подряд идущей последовательности одинаковых чисел.