美团2020 春招 笔试 第五题

# 十进制的二进制按位与的结果如果为0,则相似,返回-1,若按位与结果为0,则称为不相似,返回1。例如3的二进制是011,5的二进制为101,按位与结果为001,不为0,则称3与5相似。
# python实现
# 第一行输入 序列长度n
# 第二行输入 序列的值,用空格分开,如果在序列中an中有a_i存在a_j是a_i的相似,则输出-1,不相似怎输出1
# 例如:第一行输入4,第二行输入3 5 6 1;则输出-1 -1 1 1.
import sys
n = input()
an = input()
a_n = an.split(" ")
# if len(a_n) == int(n):

res = ["-1"]*int(n)

for i in range(int(n)):
    for j in range(i, int(n)):
        if i != j:
            # 依次比较,若按位与为0,则将结果置为”1“
            # print("i j:\n", i, j)
            re = int(a_n[i])&int(a_n[j])
            if int(re) ==0:
                res[i] = res[j] = 1
        j+=1
    i+=1

for results in res:
    sys.stdout.write(str(results)+" ")


#美团点评笔试5##美团##春招#
全部评论
这个会超时吧
点赞 回复
分享
发布于 2020-04-23 21:53

相关推荐

点赞 收藏 评论
分享
牛客网
牛客企业服务