Hadoop概述开源分布式计算平台,以HDFS、MapReduce为核心,为用户提供了系统底层细节透明的分布式基础架构.高容错、高伸缩MR允许用户在不了解分布式系统底层细节的...
Hadoop概述开源分布式计算平台,以HDFS、MapReduce为核心,为用户提供了系统底层细节透明的分布式基础架构.高容错、高伸缩MR允许用户在不了解分布式系统底层细节的...
题目:100w个数中找出最大的100个。 维护一个100个元素的小根堆即可。 或者直接维护一个用来存储当前最大的100个数的数组,每次把新来的数丢弃或插入到合适的位置。 题目...
将所有查询进行hash(query)%10,映射成新的10个文件,大约每个1GB。对每个文件使用hash_map统计频率并排序,然后对10个结果再归并排序。
分析:IP总个数2^32 = 4G,如果单机用一个hash表来存储,光IP部分就得4G*4 = 16G,不现实 把文件按照hash(IP)%1000的方式分割成1000个小文...
一个文件占用内存大小为5G x 64B = 320G,远大于实际内存4G,不能一次性载入内存。把每个文件中的url进行hash(url)%1000,各得到1000个小文件,每...
题目:输入一个整数n,求从1到n这n个整数的十进制表示中1出现的次数。 解法:
题目:输入一个正整数数组,把数组里所有数字拼接起来排成一个数,打印能拼接处的所有数字中最小的一个。例如输入数组{3,32,321},则打印出这3个数字能排成的最小数字3213...
题目:把n个骰子仍在地上,所有骰子朝上一面的点数之和为s。输入n,打印出s的所有可能的值出现的概率。 n个骰子的点数之和最小为n,最大值为6n,n个骰子的所有点数的排列数为6...
题目一:输入一个英文句子,翻转句子中单词的顺序,但单词内字符的顺序不变。为简单起见,标点符号和普通字母一样处理。例如输入字符串"I am a student.", 则输出"s...
题目:输入一个递增排序的数组和一个数字s,在数组中查找两个数,使得他们的和正好是s。如果有多对数字的和等于s,输出任意一对即可。 解法: 题目:输入一个正数s,打印出所有和为...
题目:在数组中的两个数字如果前面一个数字大于后面的数字,则这两个数字组成一个逆序对。输入一个数组,求出这个数组中的逆序对的总数。 解法:暴力遍历的方法,直观可行,O(n^2)...
题目:输入一个整形数组,数组里有正数也有负数,数组中一个或连续的多个整数组成一个子数组。求所有子数组的和的最大值。要求时间复杂度O(n) 解法:动态规划问题
题目:输入n个整数,找出其中最小的k个数。 解法:top K问题。如果n不大,可以一次性载入内存,则用一个数组保存,然后进行多次partition()即可 如果n很大,无法一...
题目:数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字。 解法:假设将数组排序,因为所求数字出现次数超过一半,则arr[n/2]即为所求。排序的时间复杂度O(nl...
题目:输入一个字符串,打印出该字符串中字符的所有排列。 解法:递归的思路。以abc为例,固定首字母,剩余部分全排列即可。 扩展题目:求一个字符串所有的组合解法:给定一个长度为...
题目:输入一颗二叉树和一个整数,打印出二叉树中结点值的和为输入整数的所有路径。从根结点开始往下一直到叶结点所经过的结点形成一条路径。 解法:
题目:输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历的结果。 分析:后序遍历:左右根二叉搜索树:左子树都比根小,又子树都比根大 根据后序遍历的特征,找到根节点。然后...
题目:输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否为该栈的弹出顺序。 解法:开一个辅助栈,模拟出栈入栈的过程:从弹出序列开始,如果当前元素等于栈顶元素,...
题目:输入两棵二叉树A和B,判断B是不是A的子结构。 解法:二叉树问题,递归思路