社区
C++ 语言
帖子详情
关于腾讯的一道找抽题;-)
pongba
2005-11-14 05:48:49
没事凑个热闹,看这两天贴面试题的忒多,刚从一个跟贴里面看到腾讯的又一个典型找抽题,题目还算典型,也很找抽,不过我想知道另一个问题,你能否说出哪些找抽的地方要用到这个算法?
题目如下,相信很多人都见过了,但你想过这种算法在哪些地方可能有用吗?请告诉我;-)
有两个集合
集合A{1,7,19,21,55,100。。。}
集合B{7,22,100。。。}
两个集合都是10万个数据(已排序),要求写一个算法,判断B是不是A的子集,算法时间复杂度为Q(N)
...全文
1439
37
打赏
收藏
关于腾讯的一道找抽题;-)
没事凑个热闹,看这两天贴面试题的忒多,刚从一个跟贴里面看到腾讯的又一个典型找抽题,题目还算典型,也很找抽,不过我想知道另一个问题,你能否说出哪些找抽的地方要用到这个算法? 题目如下,相信很多人都见过了,但你想过这种算法在哪些地方可能有用吗?请告诉我;-) 有两个集合 集合A{1,7,19,21,55,100。。。} 集合B{7,22,100。。。} 两个集合都是10万个数据(已排序),要求写一个算法,判断B是不是A的子集,算法时间复杂度为Q(N)
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
37 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
quanbaoxiao
2006-03-12
打赏
举报
回复
mark
manmanzhen
2005-11-15
打赏
举报
回复
理论与实际的争论~~逃跑。。。
yeaky
2005-11-15
打赏
举报
回复
SB楼主,
你能告诉我“哥德吧赫猜想”在哪些地方可能有用吗?谅你也答不出来,就你这种水平!!
照你这么说,我们根本不用去搞什么基础理论研究了!!!
huangjunhualy
2005-11-15
打赏
举报
回复
template <typename T> void CheckSubUnion(T a[], T b[], int m, int n)
/* m , n 分别微a[],b[]的长度 */
{
int i = 0;
int j = 0;
int count = 0;
while ((10 - i) >= (5 - j) && i < 10 && j < 5)
{
if (a[i] < b[j])
{
i++;
}
else if (a[i] > b[j])
{
j ++;
}
else
{
count ++;
i++;
j++;
}
}
if (count == n)
{
cout <<"b[] is a sub Union of a[]"<<endl;
}
else
{
cout <<"b[] is not a sub Union of a[]"<<endl;
}
}
cyouyou
2005-11-15
打赏
举报
回复
Featured(我握着爱情的门票静静排队……)
如果两个集合都是10万个数据,并且都已经排序,而且要求B是A的子集,
那么显然B=A,且每一个元素对应相等。
根据此原则,白痴也能写出来啊……
--------------------
进来赞一下这个
pongba
2005-11-15
打赏
举报
回复
我没有得到我要的答案。故该问题结贴。
yulin001122
2005-11-15
打赏
举报
回复
比如{0,1} == {0,1,1}??
WuOu
2005-11-15
打赏
举报
回复
Mark.
vxhelp
2005-11-15
打赏
举报
回复
哈哈,其实这个题很简单,
不知道面试通过能给多少银子?
pro_love
2005-11-15
打赏
举报
回复
子集的元素个数是不是<=该集合啊
还有就是子集存在父集没有的元素 何解
Major_C
2005-11-14
打赏
举报
回复
数字重复的情况...
集合的基本性质之一是元素互异性
QuickKeyBoard
2005-11-14
打赏
举报
回复
比较正常啊,就是O(n)的算法:从开始的两个开始比较就是了。
真正找抽的是那些要计算什么(i++)+(++i--)之类的东西。
vc_asm
2005-11-14
打赏
举报
回复
单纯的找抽,呵呵
拿b中最小的在A中比,比上了,再从b中取次小的和A中当前位置的下一个比,。。。
如果b中有一个不在a中,那就....否则....
好像有个字符串比较中有类似的算法滴
lei001
2005-11-14
打赏
举报
回复
/*
* a[]:全集;
* b[]子集
* m,全集元素个数
* n,子集元素个数
* 返回1,表示b是a的子集;返回-1,表示b不是a的子集
*/
int findsub(int a[],int b[],int m,int n)
{
int i,j;,
j=0;
if(m<n)return -1;
for(i=0;i<n;i++)
{
while(b[i]!=a[j])
{
j++;
if(j==m)
goto result;
}
j++;
}
result:
if(j<m)
{
return 1;
}
else if((j==m)&&(i==n))
{
return 1;
}
else
{
return -1;
}
}
请大家检视!
xiaonian_3654
2005-11-14
打赏
举报
回复
这个题目的复杂度不高的,为什么哪? 两个序列都是已排序的,
复杂度只有O(n)而已
sdhp
2005-11-14
打赏
举报
回复
中国有多少理发师?
是我就直接说中国只有两个理发师,一个是男理发师,一个是女理发师
yulin001122
2005-11-14
打赏
举报
回复
有没有考虑数字重复的情况 用11比较错到那里去都不知道了。饿。.
yulin001122
2005-11-14
打赏
举报
回复
真的这么简单吗?? 我觉得在这里起码有一半的人写出来会是错误的。
winhkey
2005-11-14
打赏
举报
回复
中国有多少理发师?
是我就直接说不知道了嘿嘿嘿
pongba
2005-11-14
打赏
举报
回复
呵呵,你怎么不说理发店的数目*5;-)
加载更多回复(17)
世界500强面试题.pdf
第一篇 面试题 ................................................................................ 8 1.1. 简介 ................................................................................................
2个
腾讯
百度的智力题
1:智力题:有100个球,两个人顺序抽球,任意抽1-4个球,问是你先抽还是第二次抽能保证使你抽到最后一个球? 答案:第二个抽取的可以拿到最后一个球 分析:方法一:区间划分,抽取求的范围是1-4.则两个人抽取的...
九月
腾讯
,创新工场,淘宝等公司最新面试三十题(第171-200题)
九月
腾讯
,创新工场,淘宝等公司最新面试三十题(第171-200题)引言 曾记否,去年的10月份也同此刻一样,是
找
工作的高峰期,本博客便是最初由整理微软等公司面试题而发展而来的。如今,又即将迈入求职高峰期--10...
一道
面试题 - PHP 实现阶乘的若干方法
前一阵子在面试
腾讯
WXG 的高级 PHP 开发岗,其中一次面试留了道算法题,要求用尽可能多的方法实现 PHP 的阶乘,并对比各种方法的优劣。 最近所有面试都结束了,正好抽点时间写写博客,于是打算分享一下我的解题过程...
php怎么求阶乘_
一道
面试题 - PHP 实现阶乘的若干方法
背景前一阵子在面试
腾讯
WXG 的高级 PHP 开发岗,其中一次面试留了道算法题,要求用尽可能多的方法实现 PHP 的阶乘,并对比各种方法的优劣。最近所有面试都结束了,正好抽点时间写写博客,于是打算分享一下我的解题...
C++ 语言
64,650
社区成员
250,477
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章