Дана последовательность натуральных чисел, завершающаяся числом 0. Определите, какое наибольшее число подряд идущих элементов этой последовательности равны друг другу.
Подскажите как решить задачу
RexHunt
#2
Я может не до конца понял суть задачи, но скорее всего это можно сделать через словарь.
Ключ - сам элемент
Значение - кол-во раз
В конце ищем самое большое значение.
poterok
#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)
}
}
haymob
#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)")