关注
作者:Roronoa_Zzoro 链接:https://www.nowcoder.com/discuss/118895?toCommentId=2002519 来源:牛客网 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 list2=[] list3=[] classNode(object): def__init__(self,name=None,value=None): self._name=name self._value = value self._left=None self._right = None classHuffmanTree(object): def __init__(self, char_weights): self.a=[Node(part[0],part[1])forpart in char_weights] whilelen(self.a)!=1: self.a.sort(key=lambda node:node._value,reverse=True) c=Node(value=(self.a[-1]._value+self.a[-2]._value)) c._left=self.a.pop(-1) c._right=self.a.pop(-1) self.a.append(c) self.root=self.a[0] self.b=range(10) def pre(self,tree,length): node=tree if(not node): return elif node._name: list1='' fori in range(length): list1+=str(self.b[i]) list2.append(node._name) list3.append(list1) return self.b[length]=0 self.pre(node._left,length+1) self.b[length]=1 self.pre(node._right,length+1) def get_code(self): self.pre(self.root,0) if__name__=='__main__': dic=[] i = raw_input() forj in set(i): dic.append((j,i.count(j))) char_weights=dic tree = HuffmanTree(char_weights) tree.get_code() r='' forl in i: form in range(len(list2)): ifl==list2[m]: r+=str(list3[m]) print r # # abbcccdddd #1101111111010100000 测试用例 为什么和我的不一样,求大佬告知!
查看原帖
点赞 评论
相关推荐
点赞 评论 收藏
分享
02-11 13:28
南昌大学 golang 点赞 评论 收藏
分享
点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# xx岗简历求拷打 #
8894次浏览 105人参与
# 求职季如何保持心态不崩 #
212363次浏览 1459人参与
# 开工第一帖 #
29659次浏览 634人参与
# 面试反问你会问什么 #
168592次浏览 1738人参与
# 有转正机会的小厂实习值得去吗? #
8844次浏览 100人参与
# 你听到的“最没用”的秋招建议 #
51361次浏览 324人参与
# 工作不开心辞职是唯一出路吗 #
9608次浏览 40人参与
# 产品面经 #
263467次浏览 2177人参与
# 掌握什么AI技能,会为你的求职大大加分 #
7547次浏览 343人参与
# 你收到了团子的OC了吗 #
1532476次浏览 11825人参与
# 携程求职进展汇总 #
889213次浏览 5881人参与
# 远程面试的尴尬瞬间 #
328412次浏览 1917人参与
# 制造业的秋招小结 #
144820次浏览 2093人参与
# 拼多多求职进展汇总 #
848398次浏览 6593人参与
# 实习要如何选择和准备? #
145188次浏览 1566人参与
# 面试题刺客退退退 #
535298次浏览 7532人参与
# 非技术岗是怎么找实习的 #
295501次浏览 2594人参与
# 找工作时的取与舍 #
122919次浏览 878人参与
# 现在还是0offer,延毕还是备考 #
1299064次浏览 7929人参与
# 你最讨厌面试被问什么 #
8875次浏览 108人参与