摘要:
题目:给定一个正整数 N,试求有多少组连续正整数满足所有数字之和为 N? 示例 1: 输入: 5 输出: 2 解释: 5 = 5 = 2 + 3,共有两组连续整数([5],[2,3])求和后为 5。 示例 2: 输入: 9 输出: 3 解释: 9 = 9 = 4 + 5 = 2 + 3 + 4 示例 阅读全文
摘要:
什么是聚簇索引 聚簇索引:索引的叶节点就是数据节点(索引值)。而非聚簇索引的叶节点仍然是索引节点(告诉你怎么在表中查找这一记录),只不过有一个指针指向对应的数据块。 Innodb和MyIsam区别 转载自 (https://www.zhihu.com/question/20596402) 1. In 阅读全文
摘要:
1.初步认识跳跃表 图中所示,跳跃表与普通链表的区别在于,每一个节点可以有多个后置节点,图中是一个4层的跳跃表 第0层: head 3 6 7 9 12 17 19 21 25 26 tail 第1层: head 6 9 17 25 tail 第2层: head 6 25 tail 第3层: hea 阅读全文
摘要:
1.字典相关的几个结构体 2.动态扩容方法 int dictRehash(dict *d, int n) 为了对dictht进行动态扩容,rehash方法将ht[0]中的值搬n个到ht[1]中, 分批次进行搬运,直到ht[0]中的值都搬到ht[1]上,再将ht[1]指针交给ht[0],rehashi 阅读全文
摘要:
给定一个整数 n,求以 1 ... n 为节点组成的二叉搜索树有多少种? 示例: 阅读全文
摘要:
给定一个整数数组 nums ,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。 示例: ij = 0j 0(i-1) 阅读全文
摘要:
给定一个链表,旋转链表,将链表每个节点向右移动 k 个位置,其中 k 是非负数。 示例 1: 示例 2: 阅读全文
摘要:
在未排序的数组中找到第 k 个最大的元素。请注意,你需要找的是数组排序后的第 k 个最大的元素,而不是第 k 个不同的元素。 示例 1: 输入: [3,2,1,5,6,4] 和 k = 2输出: 5示例 2: 输入: [3,2,3,1,2,4,5,5,6] 和 k = 4输出: 4 思路: 1.用n 阅读全文
摘要:
1.先做个小实验 发现slice在进行append操作时会跟据原来的slice容量,如果append完成后新slice的容量超过原来slice的容量,则需要扩容,并且将旧的slice数据全部迁移到新的slice开辟的地址里。 2.在runtime目录下找到slice.go,定位到growslice( 阅读全文
摘要:
运用你所掌握的数据结构,设计和实现一个 LRU (最近最少使用) 缓存机制。它应该支持以下操作: 获取数据 get 和 写入数据 put 。 获取数据 get(key) - 如果密钥 (key) 存在于缓存中,则获取密钥的值(总是正数),否则返回 -1。写入数据 put(key, value) - 阅读全文