LeetCode——Consecutive Numbers
时间:2019-10-09
本文章向大家介绍LeetCode——Consecutive Numbers,主要包括LeetCode——Consecutive Numbers使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
Write a SQL query to find all numbers that appear at least three times consecutively.
+----+-----+
| Id | Num |
+----+-----+
| 1 | 1 |
| 2 | 1 |
| 3 | 1 |
| 4 | 2 |
| 5 | 1 |
| 6 | 2 |
| 7 | 2 |
+----+-----+
For example, given the above Logs table, 1 is the only number that appears consecutively for at least three times.
+-----------------+
| ConsecutiveNums |
+-----------------+
| 1 |
+-----------------+
题意:求表中连续出现3次以上的数据.
因此,根据题意构造第一版本答案(使用连续的ID进行比较):
# Write your MySQL query statement below
SELECT DISTINCT t1.Num AS ConsecutiveNums
FROM
Logs t1,
Logs t2,
Logs t3
WHERE
t1.Id = t3.Id - 1
AND t2.Id = t3.Id + 1
AND t1.Num = t2.Num
AND t2.Num = t3.Num;
当前版本答案通过了测试,但是运行效率太低了.
分析原因,可能与t1.Id = t3.Id - 1
条件相关,当t3.Id
为0时,-1不会寻找到相关数据,导致sql
执行缓慢.
因此,修改为如下所示:
# Write your MySQL query statement below
# Write your MySQL query statement below
SELECT DISTINCT t1.Num AS ConsecutiveNums
FROM
Logs t1,
Logs t2,
Logs t3
WHERE
t2.Id = t1.Id + 1
AND t3.Id = t1.Id + 2
AND t1.Num = t2.Num
AND t2.Num = t3.Num;
此版本,效率得到了巨大的提高。
原文地址:https://www.cnblogs.com/jason1990/p/11641911.html
- 用谷歌搜索来使用ggplot2做可视化(下)
- 如何通过Google来使用ggplot2可视化
- 【直播】我的基因组54:把我的variation跟dbSNP数据库相比较
- 【翻译】MongoDB指南/引言
- TensorFlow从0到1 | 第十二章:TensorFlow构建3层NN玩转MNIST
- 如何通过预加载器提升网页加载速度
- 分钟学会正则表达式(译)
- TensorFlow从0到1 | 第十一章 74行Python实现手写体数字识别
- 让浏览器不再显示 https 页面中的 http 请求警报
- 跨域访问和防盗链基本原理
- 【翻译】MongoDB指南/CRUD操作(一)
- 【直播】我的基因组50:从测序深度和位点间距来看SNV分布情况
- 【翻译】MongoDB指南/CRUD操作(二)
- 【翻译】MongoDB指南/CRUD操作(三)
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法