包含标签 go 的文章

raft选举流程

图解 Raft (thesecretlivesofdata.com) 算法目的:实现了分布式节点的数据一致性 节点有三个状态:follower,candidate,leader leader election 初始阶段所有节点处于follower状态 follower状态下节点存在一个election timeout(150ms—300ms之间的随机数,随机降低了多个节点同时……

阅读全文

etcd client v3 连接流程

etcd client v3 连接流程 首先需要了解grpc框架的一些概念,这边引用网上的一张图 Resolver 提供一个用户自定义的解析、修改地址的方法,使得用户可以自己去实现地址解析的逻辑、做服务发现、地址更新等等功能。 将Endpoints里的ETCD服务器地址(127.0.0.1:2379这种格式)做一次转换传给g……

阅读全文

单调栈

由于数据在栈内是单调递增或单调递减的,单调栈适合用来找出数组中第一个大于或小于某个元素的场景。元素出栈后,再根据题意对出栈元素进行处理,更新数据至result。 标准模板 第一个for循环内循环输入数组, 第二个for循环维持栈内单调特性,不满足单调的元素依次出栈 第一个for循环内对元……

阅读全文

拓扑排序(选课)

207. 课程表 - 力扣(LeetCode) 思路 课程之间的依赖关系可以用图来表示 顶点:课程 边:有向的边,起点是前置课程,终点是后置课程 这种图叫做AOV(Activity On Vertex)网络,字面意思就是边代表了节点之间的活动的先后关系。 按照题意,这个图是无环的(课程不能循环依赖),也就是D……

阅读全文

优势洗牌(田忌赛马)

870. 优势洗牌 - 力扣(LeetCode) 思路 将nums1(自己的马)进行升序排序,得到下等马->上等马的序列 贪心策略 若某个位置上自己的马比对手的马强,由于已经排过序了,已经是最下等的马了,因此使用这匹马 若某个位置上自己的马比对手的马弱,将该下等马放到最后的位置(对手的上等马的位……

阅读全文

数位dp

题目特征 要求统计满足一定条件的数的数量(即,最终目的为计数,若要结果则只能回溯爆搜得到); 这些条件经过转化后可以使用「数位」的思想去理解和判断; 输入会提供一个数字区间(有时也只提供上界)来作为统计的限制; 上界很大(比如 10^{18}),暴力枚举验证会超时。 思路 从高到低枚举每一位,……

阅读全文