Дан слайс nums и число k. Найдите длину самого длинного подмассива
(непрерывного куска), в котором все числа ≥ k и хотя бы одно число
равно k. Если такого подмассива нет, верните 0.
// LongestWithK возвращает длину самого длинного подмассива nums, все элементы
// которого >= k и хотя бы один == k. Нет такого — 0.
func LongestWithK(nums []int, k int) int
Примеры
[1, 4, 3, 5, 4, 0], k=3 → 4 // [4, 3, 5, 4]
[5, 6, 7], k=3 → 0 // все ≥ 3, но тройки нет
[3, 1, 3, 3], k=3 → 2
[], k=0 → 0
Ограничения: 0 ≤ len(nums) ≤ 10⁶, значения и k — любые int
(в том числе отрицательные). Ожидается O(n) по времени и O(1) памяти.
Разбор и эталонное решение — после своей попытки: на собеседовании подсказок не будет.
Сначала попробуй сам — подсказки не дают готовый ответ.