Golang 优雅的终止一个服务

采用常规方式启动一个 Golang http 服务时,若服务被意外终止或中断,即未等待服务对现有请求连接处理并正常返回且亦未对服务停止前作一些必要的处理工作,这样即会造成服务硬终止。这种方式不是很优雅。 参看如下代码,该 http 服务请求路径为根路径,请求该路径,其会在 2s 后返回 hello。

阅读更多

LeetCode 55 跳跃游戏

1 题目描述 给定一个非负整数数组,您初始位于数组的第一个位置。 数组中的每个元素,代表您在该位置可以跳跃的最大长度。 请判断您能否抵达数组的最后一个位置。

阅读更多

LeetCode 946 校验栈序列

1 题目描述 给定两个序列pushed与popped,每个序列内的值均是不同的。对于一个空的栈,当前仅当其是有效的push与pop操作序列时返回true。 例子1: 输入:pushed = [1,2,3,4,5], popped = [4,5,3,2,1]

阅读更多

LeetCode 807 求保持城市现有天际线的最大增高

1 题目描述 在二维数组grid中,每个值grid[i][j]代表位于此的建筑物高度。我们允许对其中的任意建筑物增长不等的高度。高度0仍为一个有效的建筑物。 增高后的建筑群,从其四个方向来看,必须与之前建筑群的天际线保持一致。城市天际线是从远处观看时,由所有建筑组成的外形轮廓。请看如下例子。 请计算所有建筑物可以增长的最大总和。

阅读更多