每日一题之上升的温度

上升的温度

给定一个 Weather 表,编写一个 SQL 查询,来查找与之前(昨天的)日期相比温度更高的所有日期的 Id。

1
2
3
4
5
6
7
8
+---------+------------------+------------------+
| Id(INT) | RecordDate(DATE) | Temperature(INT) |
+---------+------------------+------------------+
| 1 | 2015-01-01 | 10 |
| 2 | 2015-01-02 | 25 |
| 3 | 2015-01-03 | 20 |
| 4 | 2015-01-04 | 30 |
+---------+------------------+------------------+

例如,根据上述给定的 Weather 表格,返回如下 Id:

1
2
3
4
5
6
+----+
| Id |
+----+
| 2 |
| 4 |
+----+
阅读全文
设计模式八之组合模式

组合模式

​ 组合模式,将对象组合成树形结构以表示“部分-整体”的层次结构,组合模式使得用户对单个对象和组合对象的使用具有一致性。掌握组合模式的重点是要理解清楚 “部分/整体” 还有 ”单个对象“ 与 “组合对象” 的含义。
​ 组合模式可以让客户端像修改配置文件一样简单的完成本来需要流程控制语句来完成的功能。
​ 经典案例:系统目录结构,网站导航结构等。

阅读全文
每日一题之删除重复的电子邮件

删除重复的电子邮件

编写一个 SQL 查询,来删除 Person 表中所有重复的电子邮箱,重复的邮箱里只保留 Id 最小 的那个。

1
2
3
4
5
6
7
8
+----+------------------+
| Id | Email |
+----+------------------+
| 1 | john@example.com |
| 2 | bob@example.com |
| 3 | john@example.com |
+----+------------------+
Id 是这个表的主键。

例如,在运行你的查询语句之后,上面的 Person 表应返回以下几行:

1
2
3
4
5
6
+----+------------------+
| Id | Email |
+----+------------------+
| 1 | john@example.com |
| 2 | bob@example.com |
+----+------------------+
阅读全文
每日一题之第十行

第十行

给定一个文本文件 file.txt,请只打印这个文件中的第十行。

阅读全文
每日一题之有效电话号码

有效电话号码

给定一个包含电话号码列表(一行一个电话号码)的文本文件 file.txt,写一个 bash 脚本输出所有有效的电话号码。

你可以假设一个有效的电话号码必须满足以下两种格式: (xxx) xxx-xxxx 或 xxx-xxx-xxxx。(x 表示一个数字)

你也可以假设每行前后没有多余的空格字符。

阅读全文
每日一题之位1的个数

位1的个数

编写一个函数,输入是一个无符号整数,返回其二进制表达式中数字位数为 ‘1’ 的个数(也被称为汉明重量)。

阅读全文
Markdown中公式编辑

前言

​ 一般公式分为两种形式,行内公式和行间公式。

  • 行内公式:$ \Gamma(z) = \int_0^\infty t^{z-1}e^{-t}dt\,. ​$

  • 行间公式:

    $$\Gamma(z) = \int_0^\infty t^{z-1}e^{-t}dt\,.$$

 对应的代码块为:

1
2
$ \Gamma(z) = \int_0^\infty t^{z-1}e^{-t}dt\,. $
$$\Gamma(z) = \int_0^\infty t^{z-1}e^{-t}dt\,.$$

行内公式是在公式代码块的基础上前面加上$,后面加上$ 组成的,而行间公式则是在公式代码块前后使用$$$$

阅读全文
设计模式七之桥接模式

桥接模式

阅读全文
Algolia