上一页 1 ··· 14 15 16 17 18 19 20 21 22 ··· 64 下一页
摘要: 第2章 简单动态字符串(SDS) redis的字符串不是直接用c语言的字符串,而是用了一种称为简单动态字符串(SDS)的抽象类型,并将其作为默认字符串。 redis中包含字符串值的键值对在底层都是由SDS实现的。 2.1 SDS定义 SDS遵循C字符串以空字符结尾的惯例,但是那1个字节不计算在len 阅读全文
posted @ 2018-05-11 15:56 __Meng 阅读(6053) 评论(0) 推荐(0) 编辑
摘要: 一个整型数组里除了两个数字之外,其他的数字都出现了两次。请写程序找出这两个只出现一次的数字。 如果数组中只有一个不同的数,全都异或,有2个的话,想办法把这个数组分成2个子数组例如 4 0100 6 0110 异或后为0010,将第二位是1的数分在一个子数组里,其他数分在另一个子数组里,两个子数组 组 阅读全文
posted @ 2018-05-10 19:42 __Meng 阅读(213) 评论(0) 推荐(0) 编辑
摘要: 输入一棵二叉树,判断该二叉树是否是平衡二叉树。平衡二叉树 每个结点的左右子树的深度相差不超过1 解法一:采用后序遍历的方式遍历整棵二叉树 只用遍历一次结点 C++: 阅读全文
posted @ 2018-05-10 18:54 __Meng 阅读(323) 评论(0) 推荐(0) 编辑
摘要: 输入一棵二叉树,求该树的深度。从根结点到叶结点依次经过的结点(含根、叶结点)形成树的一条路径,最长路径的长度为树的深度。 C++: 阅读全文
posted @ 2018-05-10 18:37 __Meng 阅读(143) 评论(0) 推荐(0) 编辑
摘要: 统计一个数字在排序数组中出现的次数。 解法一:顺序遍历 O(n) 解法二:用二分的思想 找出第一个k 和最后一个k O(logn) C++: 阅读全文
posted @ 2018-05-10 18:15 __Meng 阅读(202) 评论(0) 推荐(0) 编辑
摘要: 输入两个链表,找出它们的第一个公共结点。 C++: 遍历得到两个链表的长度,求出他们之差,用的长的链表先走若干步,接着在同时在两个链表 上遍历,找到的第一个相同的结点就是他们的共同的结点 C++: 阅读全文
posted @ 2018-05-10 16:41 __Meng 阅读(179) 评论(0) 推荐(0) 编辑
摘要: 在数组中的两个数字,如果前面一个数字大于后面的数字,则这两个数字组成一个逆序对。输入一个数组,求出这个数组中的逆序对的总数P。并将P对1000000007取模的结果输出。 即输出P%1000000007 O(nlogn) 归并排序的思想 比如 5 7 4 6 5>4 那么比5大的数也会大于4所以 c 阅读全文
posted @ 2018-05-10 16:23 __Meng 阅读(135) 评论(0) 推荐(0) 编辑
摘要: 在一个字符串(1<=字符串长度<=10000,全部由字母组成)中找到第一个只出现一次的字符,并返回它的位置 C++: 字符出现0次,状态为00 字符出现1次,状态为10 字符出现2次及2次以上,状态为11 java: 阅读全文
posted @ 2018-05-10 15:35 __Meng 阅读(152) 评论(0) 推荐(0) 编辑
摘要: 把只包含因子2、3和5的数称作丑数(Ugly Number)。例如6、8都是丑数,但14不是,因为它包含因子7 。 习惯上我们把1当做是第一个丑数。求按从小到大的顺序的第N个丑数 Java: 阅读全文
posted @ 2018-05-08 16:02 __Meng 阅读(132) 评论(0) 推荐(0) 编辑
摘要: 输入一个正整数数组,把数组里所有数字拼接起来排成一个数,打印能拼接出的所有数字中最小的一个。例如输入数组{3,32,321},则打印出这三个数字能排成的最小数字为321323。 C++: java: 阅读全文
posted @ 2018-05-08 15:31 __Meng 阅读(133) 评论(0) 推荐(0) 编辑
上一页 1 ··· 14 15 16 17 18 19 20 21 22 ··· 64 下一页