2013年阿里巴巴校园招聘笔试+面试题

hackbuteer1 2012-09-11 11:29:42
面试题:
1、hash_map 和map的区别是什么? 内部怎么实现的?
2、给你1亿个无序的0--1之间的随机小数(精确到0.001),给定一组N个查询范围[x1,y1] [x2,y2] ......[xi,yi] ......[xn,yn] (xi,yi是0--1之间的小数,xi<=yi,精确到0.001),对于每个查询范围,输出在其范围内的数字的个数。

笔试题:
1、寻找一个字符串中最长的重复子串。 如 abcdabc 最长重复串 是abc
2、给你一个wordsList,包含很多英文词组,然后再给你一个description,让你判断是否有wordsList中的词组在description中出现过。
例如 wordsList []={"apple" , "play boys","school"}
description = "play boy in school";
description 包含了school,应该返回true,并没有包含play boys。
bool check(list<string> wordsList, string description);
这个没什么好说的,暴力找出所有子串然后挨个去跟链表里的比较。
3、假设上面的wordsList 的包含的词组很多,长度N很大,而description的长度很小,怎么进行优化? 优化后的时间复杂度是多少??
...全文
8307 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
lm_whales 2013-09-15
  • 打赏
  • 举报
回复
笔试题 3、假设上面的wordsList 的包含的词组很多,长度N很大,而description的长度很小,怎么进行优化? 优化后的时间复杂度是多少?? 调换一下顺序即可 这就是 两个集合求交的算法 原问题(笔试题 2),是A的元素是否在B中. 改为 B的元素,是否在A中即可.
lm_whales 2013-09-15
  • 打赏
  • 举报
回复
共计1001 0.000~1.000 //1001 桶排序或者叫计数排序 O(N)
zyz913614263 2013-09-15
  • 打赏
  • 举报
回复
笔试题一可以二分长度,然后验证解决,复杂素为n(logn)因为 如果长度为l的存在 那么长度为l-1的一定存在
Raise 2013-08-13
  • 打赏
  • 举报
回复
引用 8 楼 cl1_1_1_1 的回复:
[quote=引用 7 楼 smsgreenlife 的回复:] 时间太晚了,今天先帮你写一个,其他的过几天再写。

#include <iostream>
using namespace std;

void substr(char *a)//统计数组a中重复出现的最长的子序列
{	
	for(int n = 0; a[n]!='\0'; ++n);
	int count = 1;
	for (int len=n-1; len>0; --len)//len:子串的长度
	{
		for (int begin=0; begin<=n-1-len; ++begin)//begin:子串的首字符的位置
		{
			for (int match_begin=1; match_begin<=n-len-begin; ++match_begin)//match_begin:匹配字符串与被匹配字符串的距离
			{	
				int i;
				for (i=begin; i<begin+len; ++i)//字符串匹配
				{
					if (a[i]!=a[i+match_begin])
					{
						break;
					}
				}
				if (i==begin+len)//匹配成功
				{
					++count;//统计匹配成功的次数
				}
			}
			if (count>=2)
			{
				for (int i=0; i<len; ++i)
				{
					cout<<a[begin+i];
				}
				return;
			}
			count = 1;
		}
	}
	return;
}

int main(int argc, char* argv[])
{
	char *a = "abcdabc";
	substr(a);
	cout<<endl;
	return 0;
}
请问还有别的答案么? [/quote] 這個可以用LCS算法求最長子串
狼异族 2013-07-12
  • 打赏
  • 举报
回复
笔试题第二题参照Boyer-Moore算法,比暴力快多了
sduxiaoxiang 2013-07-12
  • 打赏
  • 举报
回复
1:hash_map需要hash函数,采用hash表存储,map一般采用红黑树(RB Tree)实现。 2:排序算法 1:动态规划 2、3:trie树
cl1_1_1_1 2013-07-11
  • 打赏
  • 举报
回复
引用 7 楼 smsgreenlife 的回复:
时间太晚了,今天先帮你写一个,其他的过几天再写。

#include <iostream>
using namespace std;

void substr(char *a)//统计数组a中重复出现的最长的子序列
{	
	for(int n = 0; a[n]!='\0'; ++n);
	int count = 1;
	for (int len=n-1; len>0; --len)//len:子串的长度
	{
		for (int begin=0; begin<=n-1-len; ++begin)//begin:子串的首字符的位置
		{
			for (int match_begin=1; match_begin<=n-len-begin; ++match_begin)//match_begin:匹配字符串与被匹配字符串的距离
			{	
				int i;
				for (i=begin; i<begin+len; ++i)//字符串匹配
				{
					if (a[i]!=a[i+match_begin])
					{
						break;
					}
				}
				if (i==begin+len)//匹配成功
				{
					++count;//统计匹配成功的次数
				}
			}
			if (count>=2)
			{
				for (int i=0; i<len; ++i)
				{
					cout<<a[begin+i];
				}
				return;
			}
			count = 1;
		}
	}
	return;
}

int main(int argc, char* argv[])
{
	char *a = "abcdabc";
	substr(a);
	cout<<endl;
	return 0;
}
请问还有别的答案么?
smsgreenlife 2012-09-13
  • 打赏
  • 举报
回复
面试2题计数排序的思想
笔试1题直接求就行了
笔试2题用二分查找的思想,时间复杂度约为O(logn)
smsgreenlife 2012-09-13
  • 打赏
  • 举报
回复
时间太晚了,今天先帮你写一个,其他的过几天再写。

#include <iostream>
using namespace std;

void substr(char *a)//统计数组a中重复出现的最长的子序列
{
for(int n = 0; a[n]!='\0'; ++n);
int count = 1;
for (int len=n-1; len>0; --len)//len:子串的长度
{
for (int begin=0; begin<=n-1-len; ++begin)//begin:子串的首字符的位置
{
for (int match_begin=1; match_begin<=n-len-begin; ++match_begin)//match_begin:匹配字符串与被匹配字符串的距离
{
int i;
for (i=begin; i<begin+len; ++i)//字符串匹配
{
if (a[i]!=a[i+match_begin])
{
break;
}
}
if (i==begin+len)//匹配成功
{
++count;//统计匹配成功的次数
}
}
if (count>=2)
{
for (int i=0; i<len; ++i)
{
cout<<a[begin+i];
}
return;
}
count = 1;
}
}
return;
}

int main(int argc, char* argv[])
{
char *a = "abcdabc";
substr(a);
cout<<endl;
return 0;
}
wutongye 2012-09-12
  • 打赏
  • 举报
回复
笔试题可以先对wordsList建立一棵 Trie 树,然后对description拆分子串来查找 Trie树
zjwzcnjsy 2012-09-11
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 的回复:]

面试题:
1.一个是hash,一个是红黑树?忘了
2.1亿个无序的0--1之间的随机小数(精确到0.001)
int num[1000];//初始化为0
1亿个数乘以1000再num[key]++;
查询的时候也乘以1000查
笔试题:
1.不知道
2.没有说明description多大,子词组是2^N的
3.不知道
[/Quote]
笔试题:2.wordsList遍历一遍到description找?
而对3.是拆description子词组?
zjwzcnjsy 2012-09-11
  • 打赏
  • 举报
回复
面试题:
1.一个是hash,一个是红黑树?忘了
2.1亿个无序的0--1之间的随机小数(精确到0.001)
int num[1000];//初始化为0
1亿个数乘以1000再num[key]++;
查询的时候也乘以1000查
笔试题:
1.不知道
2.没有说明description多大,子词组是2^N的
3.不知道
阿里巴巴校园招聘笔试面试题淘宝校园招聘笔试试题27个文档资料合集: 2012阿里巴巴校园招聘阿里云C++笔试试题.doc 2013阿里巴巴校园招聘笔试试题研发工程师.doc 20143月阿里巴巴实习招聘笔试题及部分答案.docx 2014阿里巴巴校园招聘笔试题杭州站-研发类.doc 淘宝2011实习招聘笔试.doc 淘宝校园招聘清华笔试试题.doc 淘宝校园招聘笔试试题.doc 淘宝笔试题及部分答案.docx 阿里巴巴2010校园招聘技术类笔试试题(Java,搜索研发,C++,测试工程师)南京站.docx 阿里巴巴2014校园招聘笔试试题-系统工程师-北京站.doc 阿里巴巴2014校园招聘笔试试题-软件研发工程+网友版答案.docx 阿里巴巴2014校园招聘笔试试题-软件研发工程师+答案.doc 阿里巴巴2014校园招聘笔试题-研发工程师-全国卷.doc 阿里巴巴2014校园招聘笔试题及参考答案-研发工程师-哈尔滨站.doc 阿里巴巴2014校园招聘笔试题目-数据分析师职位(回忆版).pdf 阿里巴巴2014秋季校园招聘-软件研发工程师笔试题-文字版.doc 阿里巴巴2014秋季校园招聘笔试题-测试开发工程师北京卷.pdf 阿里巴巴_java_研发成功笔面试总结.doc 阿里巴巴校园招聘笔试题(b2b-技术部-工程师)java,算法,C++,测试.doc 阿里巴巴校园招聘Oracle_DBA笔试题及参考答案.doc 阿里巴巴校园招聘前端在线笔试.doc 阿里巴巴校园招聘测试笔试题总结.doc 阿里巴巴校园招聘销售类笔试题.doc 阿里巴巴校园招聘阿里云笔试试题题目.doc 阿里巴巴校园招聘面试试题合集总结.docx 阿里巴巴集团2014校园招聘系统工程师北京站笔试题.doc
BAT华为美团360谷歌等各大互联网公司软件校招面试笔试试题资料240MB合集: 2015校招腾讯游戏策划笔试题目.docx 2015百度校招产品经理笔试题目汇总.docx 2015网易产品策划笔试题.docx 2015网易用户研究员笔试题.docx 2015阿里巴巴校招产品经理笔试题.docx 【2013-15腾讯校园招聘】腾讯产品策划类笔试面试题整理.pdf 【2014百度校园招聘】百度客户端产品设计师___产品经理___一面面经.pdf 【2014谷歌校园招聘】腾讯产品笔试策划+经验.pdf 【2014腾讯校园招聘】腾讯产品策划运营类职位笔试题和参考答案(非本人所写_转自网上下载资源).pdf 【2015微软校园招聘】产品经理题目汇总.doc(1).pdf 【2015搜狐校园招聘】产品专员笔试题.pdf 【2015淘宝校园招聘】淘宝产品经理笔试.pdf 【2015谷歌校园招聘】产品经理题目汇总.pdf 六、互联网公司面试真题 华为校园招聘笔试面试题合集 去哪儿网校园招聘笔试面试题合集 奇虎360校园招聘笔试面试题合集 最新各互联网BAT等笔试面试真题复习资料 百度校园招聘笔试面试题合集 美团网校园招聘笔试面试题合集 腾讯招聘笔试题合集 阿里巴巴校园招聘笔试面试题合集 1.Google校招真题与面经68页.pdf 1.京东校招真题与面经77页.pdf 1.微软校招真题与面经47页.pdf 1.甲骨文校招真题与面经45页.pdf 1.百度校招真题与面经87页.pdf 1.腾讯校招真题与面经185页.pdf 1.阿里巴巴校招真题与面经101页.pdf 2.大众点评校招真题与面经23页.pdf 2.搜狐校招真题与面经47页.pdf 2.携程校招真题与面经60页.pdf 2.新浪校招真题与面经43页.pdf 2.网易校招真题与面经76页.pdf 2.雅虎校招真题与面经96页.pdf 3.三星校招真题与面经65页.pdf 3.中兴校招真题与面经59页.pdf 3.华为校招真题与面经131页.pdf 3.小米校招真题与面经46页.pdf 3.惠普校招真题与面经49页.pdf 3.联想集团校招真题与面经84页.pdf 3.苹果校招真题与面经27页.pdf 【2013-15腾讯校园招聘】腾讯产品策划类笔试面试题整理.pdf 【2013-2015迅雷校园招聘】迅雷近产品经理笔试题汇总.pdf 【2014百度校园招聘】百度客户端产品设计师___产品经理___一面面经.pdf 【2014谷歌校园招聘】腾讯产品笔试策划+经验.pdf 【2014腾讯校园招聘】腾讯产品策划运营类职位笔试题和参考答案(非本人所写_转自网上下载资源).pdf 【2015微软校园招聘】产品经理题目汇总.doc.pdf 【2015搜狐校园招聘】产品专员笔试题.pdf 【2015淘宝校园招聘】淘宝产品经理笔试.pdf 【2015百度校园招聘】百度产品经理面经.pdf 【2015谷歌校园招聘】产品经理题目汇总.pdf 【2015腾讯校园招聘】新鲜出炉腾讯产品策划运营类笔经(带题目).pdf 优衣库校招真题与面经241页.pdf

65,209

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧