有一道关于C语言的题目,求大神指导 45

问题:简单查找时间限制:3Sec内存限制:22MB提交:887解决:150[提交][状态][讨论版]题目描述给定一个集合,查找元素是否在集合中出现。输入每个测试用例由多行... 问题 : 简单查找
时间限制: 3 Sec 内存限制: 22 MB
提交: 887 解决: 150
[提交][状态][讨论版]
题目描述
给定一个集合,查找元素是否在集合中出现。
输入
每个测试用例由多行组成,第一行是两个整数n和m,这2个数的取值在1到3 000 000之间。
自第二行起一共有n+m个整数,其中前面n个整数代表集合的元素,随后的m个整数是待查询的数。n+m个整数的取值在范围1到10 000 000之间。
输出
对于每个待查询的数,如果在集合中则输出yes,否则输出no.
样例输入
5 3
45 56 23 6 566
33 66 6
3 2
2934 235 555
555 23
0 0
样例输出
no
no
yes
yes
no
提示
写算法时,注意内存分配及时间效率。数组请定义全局数组
展开
 我来答
itlodge
2012-09-13 · TA获得超过103个赞
知道答主
回答量:163
采纳率:0%
帮助的人:111万
展开全部
这个就是我们当年的期末机考题。我能想到的方法就是,将这n个数都排序一遍(升序),然后从m个要查询的数的第一个开始找,用二分查找法,找到输出yes,找不到输出no。只用到2个数组,大概就是22M左右,时间我就不知道。
PS:可能我这方法比较水,欢迎更厉害的方法。
这就是武汉
2012-09-14 · 超过14用户采纳过TA的回答
知道答主
回答量:52
采纳率:0%
帮助的人:26.6万
展开全部
n+m个数,如果都是2字节,对多会占掉20M,如果都是4字节,最多会占掉40M,22M空间不够用啊……
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
Love心H宝
2012-09-12
知道答主
回答量:6
采纳率:0%
帮助的人:9367
展开全部
题目是什么。
追问
贴出来了啊,自己看啊,大神赶紧帮我做啊,急急急
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式