leetcode consecutive-numbers 数字连续出现次数大于三次的数字

题目详情参见:

https://leetcode.com/problems/consecutive-numbers/

 

难度也只是medium,中等难度,阅读题意,也只是统计一下数字连续出现次数大于3次,例如,1,1,1,2,2,1

在这个序列中,只有1 连续出现了3次,最后显示1 即可,注意排除重复数字,即1 可能 1,1,1,2,2,1,1,1,1,这种情况下,显示一个1即可,在sql语句中添加 distinct过滤重复记录即可。

关键:定义变量统计数字的连续计数。

select distinct t.num
from
(select
num,
@con_count:=IF(@pre_num = num,@con_count+1,1) as con_count,
@pre_num:=num as pre_num
from Logs ,(select @con_count:=null,@pre_num:=null)val
)t
where t.con_count > 2;

posted @ 2015-10-14 11:29  轻言微雨  阅读(331)  评论(0编辑  收藏  举报