i字节

千里之行,始于足下。

腾讯会议 golang SDK

Github地址: https://github.com/hafrans/tencent-meeting-sdk-golang SDK简介 tencent-meeting-sdk-golang 是用golang实现的一套用于调用腾讯会议API的开发工具包。该SDK目前已实现腾讯会议API文档中涉及的所有功能,包括企业会议管理以及企业用户管理。 腾讯会议 REST API 简介腾讯会议(Tencent Meeting,TM)Rest API 是为参与腾讯会议生态系统建设的合作方开发者接入并访问腾讯会议资源提供的一组工具,是访问腾讯会议 SaaS 服务的入口。合作伙伴可以通过腾讯会议 API 进行二次开发,例如创建一个会议,修改会议,查询会议信息等。 使用示例: package main import ( "fmt" "github.com/hafrans/tencent-meeting-sdk-golang/qqmeeting" "strconv" "time" ) func main(

  • Hafrans
刷题笔记

[LC] 347. 前 K 个高频元素

题目链接:https://leetcode-cn.com/problems/top-k-frequent-elements/ 题解该题的目的很简单,考察是堆排序,就是将遍历所有的元素,用一个hashmap记录所有出现元素的频数,最后从hashmap导出来一个个 < 数字,频数> 的元组,最后通过比较频数来获取最高频的几个元素,这样想想,用快排也不是不行的。 还是谈谈根排序吧,题目中要求的是前几个高频元素,那么我们就应该使用大根堆一个一个把数据拿出来? Naive! 题目中给到了提示: 你的算法的时间复杂度必须优于 O(n log n) , n 是数组的大小。如果你执行K次大根堆排序,那么时间复杂度不会优于 O(n log n) 。 那么可以反其道行之,使用小根堆。 如果使用小根堆,根元素是堆中最小值,那么,我们只需要固定住小根堆中的元素最大为K,并在向堆中插入元组(

  • Hafrans
Traefik 2 配置 Let's Encrypt 以及设置 http 跳转 https

Traefik 2 配置 Let's Encrypt 以及设置 http 跳转 https

引言Traefik 在实质功能上与 Nginx 差不多,都是高性能的反向代理,也可以说是边缘路由。 我曾在很长一段时间内使用纯 Nginx 作为边缘的反向代理,容器编排工具使用的是Docker Swarm。Swarm 在某些场景下的支持没有 Kubernetes 那么完备,对于服务发布,k8s 用 Ingress Controller  + Ingress 就能解决的事情,Swarm下就得自行配置。 发布的所有服务,其配置都需要集中到 Nginx 下,而且配置文件也需要自行维护,配置稍微一改,Nginx

  • Hafrans
刷题笔记

[LC] 60. 第k个排列

题目链接:https://leetcode-cn.com/problems/permutation-sequence/ 题目分析这个题目还是比较好做的,我思考了不长时间就想到问题的解决办法并一次性AC,但是代码写的太烂。。。 给出n个元素的集合,其所有元素共有 n! 种排列,当我们由小到大找第其第K个排列方式时,我们可以这样办: 先固定第一个数,那么剩下的数就有 (n - 1 )!种排列,根据第一个数的不同可以分为n组,其下标范围为 $$ { [ 0, (n - 1)! ), [(n - 1)!, 2*(n-1)!), ... , [(n-1)*(n-1)!, n!)} $$ 我们可以根据每一组的下标范围以及所要查找的第K个排列就可以明确知道它是归于哪一个组。 其实问题到这里就已经解决了,无非是一个递归问题,我们通过不断细化分组,将K定位于某一个组上,这样答案就得出来了。 代码// 60. 第k个排列

  • Hafrans