找出1到10w中没有出现的两个数字
2010-08-01 18:04
190 查看
有1到10w这10w个数,去除2个并打乱次序,如何找出那两个数?
思路1:
申请10w个bit的空间,每个bit代表一个数字是否出现过。
开始时将这10w个bit都初始化为0,表示所有数字都没有出现过。
然后依次读入已经打乱循序的数字,并将对应的bit设为1。
当处理完所有数字后,根据为0的bit得出没有出现的数字。
思路2:
首先计算1到10w的和,平方和。
然后计算给定数字的和,平方和。
两次的到的数字相减,可以得到这两个数字的和,平方和。
所以我们有
x + y = n
x^2 + y^2 = m
解方程可以得到x和y的值.
原文链接:http://hi.baidu.com/mianshiti/blog/item/70ae87470ba39d89b3b7dc7e.html
思路1:
申请10w个bit的空间,每个bit代表一个数字是否出现过。
开始时将这10w个bit都初始化为0,表示所有数字都没有出现过。
然后依次读入已经打乱循序的数字,并将对应的bit设为1。
当处理完所有数字后,根据为0的bit得出没有出现的数字。
思路2:
首先计算1到10w的和,平方和。
然后计算给定数字的和,平方和。
两次的到的数字相减,可以得到这两个数字的和,平方和。
所以我们有
x + y = n
x^2 + y^2 = m
解方程可以得到x和y的值.
原文链接:http://hi.baidu.com/mianshiti/blog/item/70ae87470ba39d89b3b7dc7e.html
相关文章推荐
- 找出1到10w中没有出现的两个数字
- 找出1到10w中没有出现的两个数字
- 找出1到10w中没有出现的两个数字
- 有一组数字,有两个数字只出现一次,其他数字都是成对出现的,请找出这个数字。
- 一个整数数组里面,除了两个数之外,其他的数字都出现了两次,写一个程序找出这两个数
- 【每日面试题】找出数组中两个只出现一次的数字
- 剑指Offer —— 找出数组中两个只出现了一次的数字
- 一个整型数组里除了两个数字之外,其他的数字都出现了两次。请写程序找出这两个只出现一次的数字
- 找出数组中两个只出现一次的数字
- 有一组数字,有两个数字只出现一次,其他数字都是成对出现的,请找出这个数字。
- 找出数组中两个只出现一次的数字 【微软面试100题 第六十一题】
- 一个数组中只有两个数是不同的,其他数字是成对出现的,下面代码可将该数组中不同的两数字找出并输出
- 找出数组中两个只出现一次的数字
- 一个整型数组里除了两个数字之外,其他的数字都出现了两次。请写程序找出这两个只出现一次的数字。
- 第六十一题(找出数组中两个仅仅出现一次的数字)
- 在一个数组中找出只出现一次的一个数字、两个数字,而其余数字全部成对出现。
- 程序员面试题目总结--数组(二)【二分查找、找出给定数字出现次数、两个有序整型数组交集、找出数组中唯一的重复元素、判断数组中的数值是否连续相邻】
- 一个整型数组里除了两个数字之外,其他的数字都出现了两次。请写程序找出这两个只出现一次的数字。
- 找出两个只出现了一次的数字
- 找出数组中只出现一次的两个数字