一道微软面试题的解答

来源:互联网 发布:咸阳广电网络宽带资费 编辑:程序博客网 时间:2024/04/29 20:34

浏览某网站时候看都如下一道(微软)面试题:

 

★假设你有一个用1001个整数组成的数组,这些整数是任意排列的,但是你知道所有的整数都在1到1000(包括1000)之间。此外,除一个数字出现两次外,其他所有数字只出现一次。假设你只能对这个数组做一次处理,用一种算法找出重复的那个数字。如果你在运算中使用了辅助的存储方式,那么你能找到不用这种方式的算法吗?

 

本人想了将近15分钟,终于有了答案。(有兴趣的思考一下)我的解答用淡黄色字体显示,要看的时候请选择圈选。

 

(答案在这下)

-

-

-

把所有1001个数字加起来,再减去(西格玛1 to 1000),结果就是答案(那个出现了2次的数)。

-

-

-

(答案在这上)

 

 

 

 

 

 

 

 

 

 

 

 


原创粉丝点击