LeetCode刷题之有趣的电影

栏目: 数据库 · 发布时间: 4年前

内容简介:从上图可以看出来,整个题库分成三类,三种分类中,shell我不是很熟,算法的题太多,所以我先看了数据库的题。粗略地看了下,数据库的题还是相对简单的,可以跟着题目复习下SQL知识点,也可以跟着题友一起学习

LeetCode刷题之有趣的电影

LeetCode刷题之有趣的电影

从上图可以看出来,整个题库分成三类, 算法、数据库和shell ,它们题目比例为 1027/47/4

三种分类中,shell我不是很熟,算法的题太多,所以我先看了数据库的题。粗略地看了下,数据库的题还是相对简单的,可以跟着题目复习下 SQL 知识点,也可以跟着题友一起学习 新的方法不一样的分析角度

来看题

难度:简单题目链接: https://leetcode-cn.com/problems/not-boring-movies

某城市开了一家新的电影院,吸引了很多人过来看电影。该电影院特别注意用户体验,专门有个 LED显示板做电影推荐,上面公布着影评和相关电影描述。

作为该电影院的信息部主管,您需要编写一个 SQL查询,找出所有影片描述为非 boring (不无聊) 的并且 id 为奇数 的影片, 结果请按等级 rating 排列

例如,下表 cinema:

+---------+-----------+--------------+-----------+
|   id    | movie     |  description |  rating   |
+---------+-----------+--------------+-----------+
|   1     | War       |   great 3D   |   8.9     |
|   2     | Science   |   fiction    |   8.5     |
|   3     | irish     |   boring     |   6.2     |
|   4     | Ice song  |   Fantacy    |   8.6     |
|   5     | House card|   Interesting|   9.1     |
+---------+-----------+--------------+-----------+

对于上面的例子,则正确的输出是为:

+---------+-----------+--------------+-----------+
|   id    | movie     |  description |  rating   |
+---------+-----------+--------------+-----------+
|   5     | House card|   Interesting|   9.1     |
|   1     | War       |   great 3D   |   8.9     |
+---------+-----------+--------------+-----------+

这题简单吧,就是一个基础的SQL语法题,来分析:

description列非 boring (不无聊)
id为奇数

按道理来说,这种题对我来说就是纯粹的业务代码,可是你看我战绩

LeetCode刷题之有趣的电影

这都是不好好审题毛毛躁躁不检查就提交造成的,呜呜呜

LeetCode刷题之有趣的电影

大家看看我的答案

select * from cinema where description!='boring' and id%2 != 0 order by rating desc;

这道题最大的特点其实是在SQL中如何判断奇数,我这里用了最简单的判断方法,也是继承了我平时 java 编程的习惯。下面根据题友的评论和网上的资料整理几种在SQL中判断奇数的方法

  1. mod(id,2)=1,mod其实是个求余函数,和%的原理是一样的
  2. id%2=1 或者id%2!=0
  3. id&1=1,利用最后一位&1,偶数为0,奇数为1的原理
  4. id!=((id»1)«1),先左移一位将尾数位去掉,然后右移将尾数位补0,如果是偶数的话会和原来的id相等
  5. id regexp ‘[13579]$’,匹配类的如果只实现功能的话,正则肯定是没问题的
  6. POWER(-1, id) = -1,-1的奇数次方为-1,偶数次方为1

尽管是一道简单的SQL题,学到的东西还是挺多的,各位朋友,我们下期见~

LeetCode刷题之有趣的电影

欢迎来我的各个平台做客,我会尽可能地把自己知道的都分享给你们,有什么问题可以去各个平台留言,我会及时回复的,祝好!


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

计算机程序设计艺术(第3卷)-排序和查找(英文影印版)

计算机程序设计艺术(第3卷)-排序和查找(英文影印版)

(美)Donald E.Knuth / 清华大学出版社 / 2002-9 / 85.00元

《计算机程序设计艺术排序和查找(第3卷)(第2版)》内容简介:这是对第3卷的头一次修订,不仅是对经典计算机排序和查找技术的最全面介绍,而且还对第1卷中的数据结构处理技术作了进一步的扩充,通盘考虑了将大小型数据库和内外存储器。它遴选了一些经过反复检验的计算机方法,并对其效率做了定量分析。第3卷的突出特点是对“最优排序”一节作了修订,对排列论原理与通用散列法作了全新讨论。一起来看看 《计算机程序设计艺术(第3卷)-排序和查找(英文影印版)》 这本书的介绍吧!

MD5 加密
MD5 加密

MD5 加密工具

HEX HSV 转换工具
HEX HSV 转换工具

HEX HSV 互换工具

HSV CMYK 转换工具
HSV CMYK 转换工具

HSV CMYK互换工具