投递字节跳动等公司9个岗位 >
0 点赞 评论 收藏
分享
2018-03-22 23:10
中国计量大学 安卓 0 点赞 评论 收藏
分享
2018-03-17 11:00
中国计量大学 安卓 0 点赞 评论 收藏
分享
Leoric:文艺做法: 设缺失的数为x和y,将原数组和数组{1,2,3,....,n,n+1,n+2}合并,得到一个长度为2n+2的数组Array。 求得Array[ 0 ]^Array[ 1 ]^...&Array[ 2n+1 ]的值V,则V=x^y。由于x!=y ,V肯定不为0。 随便选择一个二的次幂值m,使得V&m>0,比如V=0001001(2) ,则m可取1,8。 将Array中的元素分成2个数组,分组的依据为Array[ 1 ]&m>0及Array[ 1 ]&m=0。此种分法,必然将x和y分到2个数组中,且两个数组除x和y之外,其它的数组都是成对出现的。 将2个数组分别取异或(计算方式同于计算Array的值V),得到2个值,即为x和y。 2B做法: 定义一个长度为n+2的bool数组,对于数组的每个值,将bool中对应位置设为true,然后找到2个false的下标。 结论: 此题存在纰漏,而防止2B做法出现的方法应该是提供2个数组,第2个数组比第一个少了2个元素,设计算法找出少的2个元素。
投递滴滴等公司9个岗位 >
0 点赞 评论 收藏
分享
0 点赞 评论 收藏
分享
创作者周榜
更多
关注他的用户也关注了: