自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

丁香枝上,豆蔻梢头

提出问题,解决问题,是我前进的动力

  • 博客(10)
  • 问答 (2)
  • 收藏
  • 关注

原创 海量数据处理(面试题)

1.给一个超过100G大小的log file, log中存着IP地址, 设计算法找到出现次数最多的IP地址?! 解题思路:哈希分桶法。 1,将100G文件分到1000个文件中,然后将每个IP地址映射到对应文件(IP地址转换为整数,对文件个数进行取余,然后根据结果放入对应文件,这样保证相同的IP肯定在同一文件中); 2,统计每个文件中出现次数最多的IP,然后比较取最大

2017-08-21 21:16:58 556

原创 每日一题——判断二叉树是否平衡,求一棵二叉树的镜像

1,判断一棵二叉树是否平衡 一棵树平衡是指它根节点到叶子节点的最长路径与最短路径只差不超过1。bool IsBanlance(Node* root,int& depth){ if(root == NULL) { depth = 0; return true; } int leftDepth = 0; int rightDep

2017-08-10 22:04:46 339

原创 每日一题——求二叉树的高度,销毁二叉树

1,求二叉树的最大高度:int length(Node* root){ if(root == NULL) return 0; int leftLength = length(root->left); int rightLength = length(root->right); return (leftLength>=rightLength?(leftLe

2017-08-10 09:52:34 447

原创 每日一题——求二叉树叶子节点个数,第K层节点个数

1,求叶子节点个数int leafnum(Node* root){ if(root == NULL) return 0; if(root->left == NULL && root->right ==NULL) return 1; return leafnum(root->left)+leafnum(root->right);}2,第K层节

2017-08-09 23:49:36 515

原创 每日一题——atoi,itoa函数的实现

atoi是将字符串转换为长整形数的一种函数,itoa相反 atoi实现需注意一下点: 1,空格; 2,表示数值的正负号; 3,结束条件:非数字或‘\0’; 4,考虑溢出问题; 5,考虑异常输入问题(+abc …),用全局变量valid标识;#define INT_MAX ((int)0x7FFFFFFF)#define INT_MIN ((int)0x80000000)boo

2017-08-09 19:34:40 326

原创 每日一题——memcpy,strcpy,memmove的实现

memcpy与strcpy的区别: 1,用途不同:strcpy主要用来字符串拷贝,memcpy主要是其他类型的拷贝; 2,使用方式不同:strcpy是遇到‘\0’停止,memcpy是根据第三个参数来决定拷贝内容;memmove: 原型:void memmove( void dest, const void* src,size_t count ); 用途:从src的count个字符拷贝到des

2017-08-09 16:48:40 299

原创 每日一题——布隆过滤器

布隆过滤器:它实际上是一个很长的二进制向量和一系列随机映射函数。用于检索一个元素是否在一个集合中。它的优点是空间效率和时间效率都远远超过一般算法。缺点是有一定的误识率,和删除困难。 原理:当一个元素加入集合时,通过K个Hash函数将该元素映射成一个位阵列中的K个点,把他们置为1,检索时,只要看看这些点是不是都是1就可以知道它存在不。 如果有一个不为1,则该元素肯定不存在; 如果全是1,则该元素

2017-08-09 15:00:19 434

原创 每日一题——位图

定义:位图(bitmap)就是利用每一位来存储某种状态,但是状态又比较少的情况。 缺点: 1,只能用于整形; 2,可读性差; 3,位图存储的元素个数虽然比一般做法多,但是存储的元素大小受限于存储空间的大小。位图存储性质:存储的元素个数等于元素的最大值。比如, 1K 字节内存,能存储 8K 个值大小上限为 8K 的元素。(元素值上限为 8K ,这个局限性很大!)比如,要存储值为 65535 的

2017-08-09 13:33:51 317

原创 每日一题——字符串循环右移K位,时间复杂度O(N)

例:abcdefgh,循环右移K=3位,就成:fghabcde思路:从上面的例子可以看出,结果就是将后面的K位与前面的N-K位调换位置即可。将字符串逆置,就使得前后位置发生了变化,但是前后两部分的字符顺序出现了逆置,所以在逆置整个字符串时,首先将两小部分分别逆置,最后在整体逆置。 1, abcdefgh ->abcde , fgh 2, edcba , hgf 3, fghabcde/

2017-08-09 10:26:03 830

原创 每日一题——排序(从1-n连续的数进行排序)

有一堆从1到n连续的n个数,要求进行排序,时间复杂度是O(N)思路:从第一个数开始,使得a[i]与a[a[i] - 1]进行交换,直至 i == a[i]-1,即该值已回到了自己的所在位置(0对应1,1对应2,…),然后i++;直至结束。void sort(int a[],int len){ int i = 0; for(;i<len;) { int tmp

2017-08-09 09:49:34 779

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除