Algorithm
1266. 访问所有点的最小时间
思路:
这其实更像是一个数学问题.
因为需要按顺序访问所有点, 所以可以把问题简化为计算两个点之间的最小距离, 最后把每两个点之间的最小距离累加, 问题得解.
接下来要计算两个点之间的最小距离, 因为走对角线的效率是分别走横竖的两倍, 所以我们要尽可能多地走对角线. 那么两个点之间势必会形成一块而走对角线的正方形区域, 正方形的边长就是以两点为对角形成的长方形的较短的一条边. 剩余的距离一直横着或者竖着走即可. 问题得解.
代码:
1 | class Solution { |
执行用时: 1ms, 内存消耗: 41.4MB.
Review
声明!!!
水平以及精力有限, 下文可能存在很多问题错译, 仅做个人学习之用, 如果需要学习 Docker, 还请查阅其他资料!!!
Get Docker Engine - Community for Ubuntu
卸载旧版命令
1 | sudo apt-get remove docker docker-engine docker.io containerd runc |
使用 Docker 仓库安装 Docker
升级 APT 安装包索引
1
sudo apt-get update
安装下列软件包以允许
apt
命令使用 https 仓库1
2
3
4
5
6sudo apt-get install \
apt-transport-https \
ca-certificates \
curl \
gnupg-agent \
software-properties-common添加 Docker 官方的 GPG 秘钥
1
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
通过指纹验证秘钥已经正确添加:
1
sudo apt-key fingerprint 0EBFCD88
使用如下命令设置 Docker 稳定版仓库
1
2
3
4sudo add-apt-repository \
"deb [arch=amd64] https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) \
stable"安装最新版本的 Docker 引擎社区版和 containerd
1
2sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io
至此, Docker 引擎社区办已经安装完成. 如果有需要, 也可以安装指定版本, 步骤请参考原文.
现在只能通过 sudo
执行 docker 命令, 如果想要通过普通账户运行 docker 命令, 需要把指定的用户添加进 docker
用户组 (这个操作会让指定用户获取 Docker 容器的 root 权限.):
1 | sudo usermod -aG docker your-user |
需要退出当前账户并重新登录来使上面的命令完全生效.
Docker 还可以通过 .deb
文件或者 脚本文件安装, 具体步骤参见原文.
卸载 Docker 引擎社区版
卸载 Docker 引擎社区版
1
sudo apt-get purge docker-ce
删除 Docker 镜像, 容器, 卷, 配置文件等
1
sudo rm -rf /var/lib/docker
Tip
MySQL 中的 null 和 not null
MySQL 中 null 值的检索
之前偶然间写了一个 SQL, 发现执行结果和预期不符, 最终发现是 null 的问题. MySQL 中 null 值是不能用 =
号比较的, 结果始终是 null. (此外, 使用 >
, <
, +
, -
, !=
等操作符操作 null 结果始终是 null.)
下面语句的执行结果会是 null
:
1 | SELECT NULL = NULL; |
1 | SELECT NULL != NULL |
那么怎么检索 null
值呢? 我们可以使用 IS
和 IS NOT
关键字或者 <=>
操作符或者 ISNULL()
方法:
1 | SELECT NULL IS NULL |
1 | SELECT NULL IS NOT NULL |
1 | SELECT NULL <=> NULL |
1 | SELECT ISNULL(NULL) |
MySQL 中 null 和 空值 的区别
- MySQL 中 null 是会占用空间的, 表示 “a missing unknown value”;
- MySQL 中 空值 是不占用空间的;
eg: 空值 代表什么都没有, 而 null 值代表有一个空杯子, 虽然杯子里面什么都没有, 但空杯子还是会占用空间.
其他
- 使用排序时, null 会被当作是一个无穷小的值;
- 聚合函数
count()
,min()
,sun()
是忽略 null 值的, 但是count(*)
例外; - 在 MyISAM, InnoDB 和 MEMORY 引擎中, 是可以在包含 null 值的列添加索引的, 而在其它引擎中 not null 列才可以添加索引;
- 如果在一个 timestamp 列插入 null 值, 则当前时间会被自动插入; 如果在一个自增列插入 null 值, 则下一个自增值会被自动插入;
参考文献
- MySQL NULL值处理详细说明 — zejin
Share
实验 - 时间梳理
这周做了一个小实验, 刻意梳理并充分利用自己的时间, 看看最后会有什么变化. 欢迎围观 / 参考 / 同行.