分类：电脑/网络-程序设计-JAVA相关
问题：帮我解释一下这道题目什么意思ProblemStatementWh 
blem Statement      When text is encoded using Huffman codes, each symbol is replaced by a string of 0s and 1s called a bit string representation. The replacement is done in such a way that the bit string representation of a symbol is never the prefix of the bit string repreblem Statement      When text is encoded using Huffman codes, each symbol is replaced by a string of 0s and 1s called a bit string representation. The replacement is done in such a way that the bit string representation of a symbol is never the prefix of the bit string representation of any other symbol. This property allows us to unambiguously decode the encoded text.You will be given a String archive and a String[] dictionary. The i-th element of dictionary will be the bit string representation of the i-th uppercase letter. Decode archive using dictionary and return the result as a single String.   Definition Class: HuffmanDecoding Method: decode Parameters: String, String[] Returns: String Method signature: String decode(String archive, String[] dictionary) (be sure your methodis public)          Constraints - archive will contain between 1 and 50 characters, inclusive.  - archive will contain only the characters '0' (zero) and '1' (one). - dictionary will contain between 1 and 26 elements, inclusive.  - Each element of dictionary will contain between 1 and 50 characters, inclusive.  - Each element of dictionary will contain only the characters '0' (zero) and '1' (one). - No element of dictionary will be a prefix of any other element of dictionary. - archive will be decodable using dictionary   Examples 0)       "101101" {"00","10","01","11"}  Returns: "BDC" Because there are no elements in dictionary that are prefixes of other elements, only one element of dictionary will be a prefix of archive. In this case, it is the second element ("10") which represents 'B'. The rest of the text can be decoded using the same logic.   1)       "10111010" {"0","111","10"}  Returns: "CBAC" Note that elements of dictionary can be of different lengths.   2)       "0001001100100111001" {"1","0"}  Returns: "BBBABBAABBABBAAABBA" '1' is replaced by 'A', '0' is replaced by 'B'.   3)       "111011011000100110" {"010","00","0110","0111","11","100","101"}  Returns: "EGGFAC"   4)       "001101100101100110111101011001011001010" {"110","011","10","0011","00011","111","00010","0010","010","0000"}  Returns: "DBHABBACAIAIC"
回答：这是一个赫夫曼问题，题目的意思应该是让你设计实现一个名为HuffmanDecoding的类，这个类有一个成员函数decode，这个函数的输入参数有两个，分别是String和String[]，而输出为String。同时为了编程容易现实给出了一些限制，先解释两个例子，然后就对限制有所理解了"101101"{"00","10","01","11"}Returns: "BDC"输出"101101"和{"00","10","01","11"}，后面的四个串是字符的Huffman编码，按字母序分别是A(00),B(10),C(01),D(11)由于每个编码不能是其他编码的前缀，那么101101就只能切分成10\11\01这样输出就是对应的BDC"10111010"{"0","111","10"}Returns: "CBAC"同理，A(0),B(111),C(10),10111010只能切分为10\111\0\10即CBAC先解释这么多，要下班了，如果还是不懂明天再来补充。