Log-structured merge-tree 日志结构合并树 (LSM-Tree)。它是一种树形的数据结构,由多个层级组成,每层的数据按 key 有序。LSM-Tree 主要设计用来应对写入密集型工作负载,并于 1996 年在同名论文 The Log-Structured Merge-Tree
func buildTree(nums []int) *TreeNode {
if len(nums) == 0 {
return nil
}
root := &TreeNode{Val: nums[0]}
q := []*TreeNode{root} // 队列
for i := 1
对于某个字符串 "abcdefaaa" ... 那么想对他进行编码 怎么编? abcde这些映射为整数 01234 ... 假设有个idx数组 映射的整数则是idx[s[i]] 这个base一定是一个素数 作为基数 防止hash冲突 那么有:hash[i]=h a s h[i-1] * b a s
原文链接 基于 Redis 的分布锁到底是否安全?什么情况下会失效?一个小小的分布式锁,在分布式系统中都会遇到哪些问题? 高并发业务场景下,部署在不同机器上的业务进程,如果需要同时操作共享资源,为了避免「时序性」问题,通常会借助 Redis 的分布式锁来做互斥,以保证业务的正确性。 基于 Redis
我们可以假设有两个指针都指向起点,一个指针是慢指针,每次往后面移动一个,一个指针是快指针,每次往后面移动两个; 如果没有环存在,那么快指针一定先到最后的null处,退出; 如果有环存在,快指针一定会赶上慢指针 如果这个循环是存在的,我们假设快指针在某节点处赶上了慢指针,他距离起始节点(不包含)长度是