随笔分类 -  golang

摘要:同上一篇,使用堆排序的方式做。 第一步构建最小堆,构建好之后数组的第一个元素就是最小的; 第二步排序,开始执行k-1次sift,每次将剩余元素中最小的元素放到未排序元素的末尾 第三步,将数组的后k个数返回即为数组中最小的k个数。 func getLeastNumbers(arr []int, k i 阅读全文
posted @ 2022-01-27 20:51 丶Blank 阅读(32) 评论(0) 推荐(0)
摘要:首先BuildHeap,build heap是指让数组符合堆的性质,最大堆就是根节点的值>=子节点的值。 第一步build完之后,arr[0]就是最大的元素; 然后执行k-1次调整,就会把第k大的元素调整到arr[0]的位置。【要第一大的元素,就不需要再调整了,要第二大就再调整一次,以此类推...】 阅读全文
posted @ 2022-01-27 20:35 丶Blank 阅读(165) 评论(0) 推荐(0)
摘要:LeetCode 147 单链表插入排序,主要知识点,单链表翻转。 单链表翻转关键点只有4步。 1. 暂存Next节点 2. 将当前节点Next 指向Head的Next 3. 将Head的Next指向当前节点 4. 将暂存节点赋值给当前节点 /** * Definition for singly-l 阅读全文
posted @ 2022-01-20 00:09 丶Blank 阅读(51) 评论(0) 推荐(0)
摘要:项目中需要使用一个简单的定时任务调度的框架,最初直接从GitHub上搜了一个star比较多的,就是 https://github.com/robfig/cron 这个,目前有8000+ star。刚开始使用的时候发现问题不大,但是随着单机需要定时调度的任务越来越多,高峰期差不多接近500QPS,随着 阅读全文
posted @ 2021-06-07 21:29 丶Blank 阅读(4249) 评论(0) 推荐(0)