LeetCode刷题之有趣的电影

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

内容简介:从上图可以看出来,整个题库分成三类,三种分类中,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刷题之有趣的电影

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


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

查看所有标签

猜你喜欢:

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

Growth Hacker Marketing

Growth Hacker Marketing

Ryan Holiday / Portfolio / 2013-9-3 / USD 10.31

Dropbox, Facebook, AirBnb, Twitter. A new generation of multibillion dollar brands built without spending a dime on “traditional marketing.” No press releases, no PR firms, and no billboards in Times ......一起来看看 《Growth Hacker Marketing》 这本书的介绍吧!

JSON 在线解析
JSON 在线解析

在线 JSON 格式化工具

随机密码生成器
随机密码生成器

多种字符组合密码

HEX CMYK 转换工具
HEX CMYK 转换工具

HEX CMYK 互转工具