首页
题库
面试
求职
学习
竞赛
More+
所有博客
搜索面经/职位/试题/公司
搜索
我要招人
去企业版
登录 / 注册
首页
>
试题广场
>
找出1到10w中没有出现的两个数字。
[问答题]
有1到10w这10w个数,去除2个并打乱次序,如何找出那两个数?
查看答案及解析
添加笔记
求解答(0)
邀请回答
收藏(13)
分享
纠错
2个回答
添加回答
0
推荐
顽童猫
申请10w个bit的空间,每个bit代表一个数字是否出现过。 开始时将这10w个bit都初始化为0,表示所有数字都没有出现过。 然后依次读入已经打乱循序的数字,并将对应的bit设为1。 当处理完所有数字后,根据为0的bit得出没有出现的数字。 首先计算1到10w的和,平方和。 然后计算给定数字的和,平方和。 两次的到的数字相减,可以得到这两个数字的和,平方和。 所以我们有 x + y = n x^2 + y^2 = m 解方程可以得到x和y的值。
编辑于 2015-02-04 11:26:48
回复(0)
更多回答
0
我爱吃煲仔
boolean num[100000]
遍历这10万个数,如果 i 存在,则置num[i]= true
遍历结束后,剩下的2个false的i值就是所求
发表于 2015-07-06 10:36:33
回复(0)
这道题你会答吗?花几分钟告诉大家答案吧!
提交观点
问题信息
模拟
腾讯
上传者:
ヤマダ
难度:
2条回答
13收藏
3731浏览
热门推荐
相关试题
一个10*10的矩阵(可以理解为棋...
去哪儿
模拟
评论
(0)
一个文件里有10万个随机正整数,按...
去哪儿
堆
模拟
评论
(4)
有两个文件context.txt和...
去哪儿
模拟
评论
(4)
体育课测验(二)
广度优先搜索(BFS)
拓扑排序
dfs
评论
(2)
PMOS和NMOS的区别
元器件
评论
(1)
扫描二维码,关注牛客网
意见反馈
下载牛客APP,随时随地刷题