Подскажите как решить задачу


#1

Дана последовательность натуральных чисел, завершающаяся числом 0. Определите, какое наибольшее число подряд идущих элементов этой последовательности равны друг другу.


#2

Я может не до конца понял суть задачи, но скорее всего это можно сделать через словарь.
Ключ - сам элемент
Значение - кол-во раз
В конце ищем самое большое значение.


#3

У меня пока что получилось сделать только, сравнить текущий индекс с следующим, но как пройти дальше чтобы найти максимальное количество повоторяющихся элементов не понимаю((

let someInt = [23,23,4,6,23,45,6,7,23,23,23,0]
var someInt2 = someInt
var some = [Int]()
var indexX:Int = 0


for i in someInt {
    if i == someInt2[indexX+1] {
        some.append(i)
        some.append(someInt2[indexX+1])
        break
    } else {
        print(some.count)
    }
}

#4
let arr = [23, 23, 4, 6, 23, 45, 6, 7, 23, 23, 23, 0]

var result = [Int: Int]()

var lastIndex = -1

for i in 0..<arr.count - 1 {
    guard lastIndex < i else { continue }
    for j in i + 1..<arr.count {
        guard arr[i] == arr[j] else { break }
        lastIndex = j
        result[i] = result[i, default: 1] + 1
    }
}

let (key, value) = result.sorted { r1, r2 in r1.value > r2.value }.first!

print("\(arr[key])x\(value)")