关注
import math def calE(num0, num1): p0 = num0 / (num0 + num1) p1 = 1 - p0 if p0 == 1 or p1 == 1: return 0 return -(p0 math.log2(p0) + p1 math.log2(p1)) if name == "main": N = int(input())
arr = []
for i in range(N):
arr.append(list(map(int, input().split(','))))
E0 = 0
E1 = 0
key_dic = {}
sum_0 = 0
sum_1 = 0
for i in arr:
if key_dic.get(i[0], None) is None:
if i[1] == 1:
key_dic[i[0]] = [0, 1]
sum_1 += 1
else:
key_dic[i[0]] = [1, 0]
sum_0 += 1
else:
if i[1] == 1:
key_dic[i[0]][1] += 1
sum_1 += 1
else:
key_dic[i[0]][0] += 1
sum_0 += 1
E0 = calE(sum_0, sum_1)
for k, v in key_dic.items():
E1 += calE(v[0], v[1])
print(round(E0-E1, 2))
大神能帮我看一下为啥我这个一直是0 。。。我仔细看了下你的代码,似乎我们的思路是一样的?(为什么牛客网上排版会这样。。。)
查看原帖
点赞 评论
相关推荐
点赞 评论 收藏
分享
01-08 21:49
广州华南商贸职业学院 运维工程师
小肥罗:我觉得“实习生不了解也很正常”可能只是客套话,面试官的标准是希望答上来。另外,面试官没有马上结束面试,恰恰证明他想给你机会,想多考察你看你是否其他方面符合要求。面试时间长反而证明面试官还是看好你的,想多给你机会表现一下自己。 点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 牛客吐槽大会 #
26109次浏览 326人参与
# 一份好的简历长什么样? #
23172次浏览 423人参与
# 材料专业就业可以去哪些企业岗位 #
55006次浏览 376人参与
# 为了减少AI幻觉,你注入过哪些设定? #
8036次浏览 220人参与
# 在大厂上班是一种什么样的体验 #
15770次浏览 225人参与
# 机械人避雷的岗位/公司 #
45038次浏览 320人参与
# 你的mentor是什么样的人? #
51695次浏览 741人参与
# 论秋招对个人心气的改变 #
16697次浏览 252人参与
# 我和mentor的爱恨情仇 #
106802次浏览 969人参与
# 牛客AI体验站 #
9791次浏览 233人参与
# 程序员找工作至少要刷多少题? #
24949次浏览 316人参与
# 本周投递记录 #
842388次浏览 12226人参与
# 制造业的秋招小结 #
142297次浏览 2086人参与
# 晒晒你司的新年福利 #
10661次浏览 191人参与
# 应届生进小公司有什么影响吗 #
119072次浏览 1162人参与
# AI Coding的使用心得 #
6691次浏览 142人参与
# 一张图晒一下你的AI员工 #
6877次浏览 153人参与
# 我现在比当时_,你想录用我吗 #
10609次浏览 160人参与
# 通信/硬件求职避坑tips #
140059次浏览 1087人参与
# 秋招想进国企该如何准备 #
125547次浏览 617人参与

OPPO公司福利 1133人发布