0001 0010 0011 0100 0101 0110 0111 -> 1000(<=n的最大的2的整数次幂和前面的相连,相与的值均为0) 到1111之前的所有数我们在前面的数字中均可以找到一个数使得相与为0 比如1001 -> 1110, 1010 -> 1101, 1011 -> 1100... 1001 1010 1011 1100 1101 1110 -> 1111 (而到了全是1的这种情况,找不到0000这种的相与为0的数,所以贪心的找0001,相与为1) 最后算一下n是否为1111... = 2^k - 1 ,如果是答案就是1,否则就是0.
点赞 评论

相关推荐

11-27 12:43
已编辑
门头沟学院 C++
点赞 评论 收藏
分享
10-14 23:01
已编辑
中国地质大学(武汉) Java
CUG芝士圈:虽然是网上的项目,但最好还是包装一下,然后现在大部分公司都在忙校招,十月底、十一月初会好找一些。最后,boss才沟通100家,别焦虑,我去年暑假找第一段实习的时候沟通了500➕才有面试,校友加油
点赞 评论 收藏
分享
牛客网
牛客企业服务