
go
ceshell
这个作者很懒,什么都没留下…
展开
-
go构造任意时间段数组
在很多场景下,我们需要在数据库中按照时间进行分组查询与统计。在界面上按照时间段展示查询到的结果。但是数据库中查询时,只会查出实际存在的时间段,这种情况下,我们更倾向于在代码中构造时间段,而不是想办法在数据库中强行构造空记录。处理步骤如下:* 使用map记录查询到的记录* 构造完整时间顺序的时间段数组* 遍历这个时间段数组,将map中存在的记录进行填充,不存在的记录设为默认值下面只给出构造时间段数组的方法func main() { // 获取当天0点时间 t := time.Now() st原创 2021-05-12 19:59:51 · 497 阅读 · 0 评论 -
leetcode题解
「leetcode」155. 最小栈思路使用辅助栈同步保存最小元素type MinStack struct { minStack []int stack []int }/** initialize your data structure here. */func Constructor() MinStack { return MinStack{ minStack: []int{}, stack: []int{},原创 2021-02-21 19:36:33 · 158 阅读 · 0 评论 -
2021-02-20
「leetcode」54. 螺旋矩阵思路从矩阵整体上考虑,不要考虑每个具体坐标的移动将矩阵抽象为矩形的嵌套,外层处理完成后,内层的处理逻辑与外层相同处理特殊情况。当矩阵为1行n列,n行1列,m行n列时的情况分别记录矩阵左上与右下两个位置,通过其行列坐标的变化,记录矩阵元素func spiralOrder(matrix [][]int) []int { if len(matrix) == 0 || len(matrix[0]) == 0 { return []int{} } // 分原创 2021-02-20 21:05:53 · 129 阅读 · 0 评论 -
go在算法题中的标准输入读取(附相关算法题)
众所周知,算法题中经常需要处理输入与输出的情况。一般存在以下三种情况,即固定数量字符输入,循环输入,单行输入的情况。1. 循环输入示例:for { var str string n, _ := fmt.Scan(&str) if n == 0 { break }}// 使用fmt.Scan()时,必须确保输入长度固定,并使用相应变量接收for { var str string _, _ = fmt.Scan(&str)} 题1:按照一定原创 2021-01-28 23:34:13 · 864 阅读 · 2 评论 -
go实现归并排序
package mainimport "fmt"func merge(arr []int, left, right, mid int) { var temp []int // 辅助数组 // temp := []int{} p1 := left p2 := mid + 1 for p1 <= mid && p2 <= right { if arr...原创 2020-03-03 22:50:20 · 193 阅读 · 0 评论 -
go实现插入排序
package main import "fmt"func swap(arr, i, j int) { arr[i], arr[j] = arr[j], arr[i]}func insertSort(arr []int) { if arr == nil || len(arr) < 2 { return } // 从第一个元素开始比较,所以忽略第0个元素 for i...原创 2019-09-10 22:40:47 · 233 阅读 · 0 评论 -
go实现快速排序
package mainimport "fmt" func swap(arr []int, i, j int) { arr[i], arr[j] = arr[j], arr[i]}func partition(arr []int, left, right, key int) []int { // 划分 less := left - 1 // 小于区 more := right...原创 2019-09-11 22:51:20 · 668 阅读 · 0 评论 -
go实现随机快速排序
package mainimport ( "fmt" "math/rand" "time")func swap(arr []int, i, j int) { arr[i], arr[j] = arr[j], arr[i]}func partition(arr []int, left, right, key int) []int { // 划分 less := left -...原创 2019-09-14 18:57:11 · 222 阅读 · 0 评论