题解 | #牛牛的xor#

牛牛的xor

https://ac.nowcoder.com/acm/problem/21298

很简单的一道题

用贡献法+贪心

对于每个数从高到低考虑 如果ans中这个位为0并且num值大于这个位转换成10进制 答案中加上

import sys
input=sys.stdin.readline

input()
nums=list(map(int,input().split()))
ans=0
for num in nums:
    for i in range(num.bit_length()-1,-1,-1):
        mask=(1<<i)
        if not ans&mask and num>=mask:
            ans|=mask
            num-=mask
print(ans)
全部评论

相关推荐

05-19 16:41
复旦大学 Python
ynq2126:我一直觉得现在考算法题没啥意义 真要选拔人才不如把公司实际项目中遇到的问题当成一系列场景题抛给求职者答 这才是能检测能力的东西
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务