2018-09-04 20:44
浙江大学 算法工程师 Why201808312259832:我也是,估计是最后打印时没有用round, 用了%.2f from math import log
if __name__ == "__main__":
p_data = [int(i) for i in input().split()]
q_data = [int(i) for i in input().split()]
p_total = len(p_data) + 1e-5
q_total = len(q_data) + 1e-5
x_unique = set(p_data + q_data)
p_stat = {x: 0 for x in x_unique}
q_stat = {x: 0 for x in x_unique}
for x in p_data:
p_stat[x] += 1
for x in q_data:
q_stat[x] += 1
kl_val = 0
for x in x_unique:
p_proba = p_stat[x] / p_total + 1e-5
q_proba = q_stat[x] / q_total + 1e-5
kl_val += p_proba * log(p_proba / q_proba, 2)
print("%.2f" % kl_val)
投递携程等公司10个岗位 >
0 点赞 评论 收藏
分享
2018-07-30 18:56
浙江大学 算法工程师 0 点赞 评论 收藏
分享
关注他的用户也关注了: