- 博客(8)
- 收藏
- 关注
原创 最大平均值子数组
最大平均值子数组 描述 笔记 数据 评测给出一个整数数组,有正有负。找到这样一个子数组,他的长度大于等于 k,且平均值最大。 注意事项保证数组的大小 >= k您在真实的面试中是否遇到过这个题? Yes样例给出 nums = [1, 12, -5, -6, 50,
2017-09-15 23:10:14 1773
原创 [LeetCode] 4Sum 四数之和解法(本算法n数之和都能解)
[LeetCode] 4Sum 四数之和解法(本算法3数求和能解, n数之和都能解)
2017-07-27 13:09:07 4436 2
原创 JDK8 HashMap的实现之4(共四篇)
1. putpublic V put(K key, V value) { return putVal(hash(key), key, value, false, true); }final V putVal(int hash, K key, V value, boolean onlyIfAbsent, boolean evict)
2017-05-08 23:13:55 767
原创 红黑树的删除之3(共四篇)
红黑树的删除操作是红黑树最复杂的操作了,只要搞明白这个,基本上就明白红黑树的调整。RB-DELETE(T, z) y = z; y-original-color = y.color; if z.left == T.NIL x = z.right; RB-TRANSPLANT(T, z, z.right); else if z.right == T.NIL x
2017-04-13 22:27:10 6777 1
原创 红黑树的插入2(共四篇)
红黑树的插入的时间复杂度是O(lgn),插入操作和普通的二叉搜索树几乎一模一样,不同点是在插入后需要看看红黑树的五大性质是否被破坏了,如果被破坏了,那就需要调整了。下面先来看看红黑树插入操作的代码,其实插入操作很简单,假如要插入的节点叫做z,无非就是找到从根节点出发,发现当前节点比z大的走左边路线,发现当前节点比z小的走右边路线,一直走到叶子节点,然后插入这个z节点。关键点是插入后的调整。下面先看
2017-04-12 22:47:57 1293 4
原创 红黑树的基本性质(共四篇)
1.什么是红黑树我们知道一棵高度为h的二叉搜索树的大部分操作时间复杂度是O(h),但是如果搜索树较高,极端情况下就是一条链表了,二叉搜索的意义就不大了。而红黑树是一颗二叉搜索树,也是多种平衡搜索树的一种,可以保证最坏情况下时间复杂度为O(lgn)。对于一棵有n个内部节点的红黑树的高度最多为2lg(n+1),高度的证明不难,请参考算法导论。 2.红黑树的五大性质这五
2017-04-10 22:24:12 7764 2
原创 从自定义排序深入理解单机hadoop执行mapreduce过程
我们对数据进行处理的过程中,最常见的一种操作是排序和统计,特别是在数据量大的场景,实现高效的排序是业务系统开发过程中非常重要的一块。本人所在的公司是个电商企业,交易量非常大,同时产生的财务数据量也是非常大,所以我们有多达几十T的数据都会存放到hadoop,如何从hadoop中高效地提取有用的数据成为了工作中重要的一环。在自定义排序类的过程中,遇到了不少问题,而hadoop执行过程中对异常的处理往往
2016-06-02 21:03:36 724
原创 实现dup2功能相同的函数
自行实现dup2的功能。函数原型:int mydup2(int fd, int fd2),思路如下:1.fd2小于0,直接返回错误;2.如果fd是有效的文件描述符且等于fd2,直接返回fd2;3.如果fd2已经打开,关闭fd2;4.分配一个长度为fd2值的fdset数组,不断调用dup,直到返回的文件描述符的值和fd2相等;5.清理资源,返回fd2。实现的函数代码如
2015-06-28 21:02:50 707
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人