# Time: O(n) # Space: O(n) SELECT DISTINCT(Num) AS ConsecutiveNums FROM ( SELECT Num, @counter := IF(@prev = Num, @counter + 1, 1) AS how_many_cnt_in_a_row, @prev := Num FROM Logs y, (SELECT @counter:=1, @prev:=NULL) vars ) sq WHERE how_many_cnt_in_a_row >= 3 SELECT DISTINCT l1.Num as ConsecutiveNums FROM Logs l1, Logs l2, Logs l3 WHERE l1.Id + 1 = l2.Id AND l2.Id + 1 = l3.Id AND l1.Num = l2.Num AND l2.Num = l3.Num