这个题目应该出现过了,使用异或运算应该是最快的方法了,加法也可以,但是加法应该比不上逻辑运算的速度。。 (另外我也想求求关于现代CPU执行 加法的需要多少时钟周期, 逻辑异或需要多少时钟周期 ? 的干货 ) 首先得到 1-100 这些数字异或后得到的数字 Y= 1^2^..^100,使用循环99次得到. 然后用着Y 去异或那个99个数的数字, 最后Y里保存的就是缺失了的数字。 也是99次循环。 其实是同学提到的,他搞ACM,我很菜。。 原理: Y = a^b^c; e = Y ^ a ^ c = a^b^c^a^c = a^a^b^c^c = 0 ^ b ^ 0 = b .. 就是缺少了的b,异或运算的性质应该没记错。 |
从一百个数中找不存在的数
最新推荐文章于 2021-11-22 15:14:31 发布