Hatena::Grouptopcoder

hama_DU@TopCoderへの道

2011-05-21SRM300台を練習していく part3

SRM 308 HuffmanDecoding

|  SRM 308 HuffmanDecoding - hama_DU@TopCoderへの道 を含むブックマーク はてなブックマーク -  SRM 308 HuffmanDecoding - hama_DU@TopCoderへの道

http://www.topcoder.com/stat?c=problem_statement&pm=6477

ハフマン符号化の逆をやる。200とだけあって簡単。


public class HuffmanDecoding {
	public String decode(String archive, String[] dictionary) {
		String result = "";
		int idx = 0;
		while (idx < archive.length()) {
			for (int i = 0 ; i < dictionary.length ; i++) {
				int len = dictionary[i].length();
				if (idx+len <= archive.length()) {
					if (archive.substring(idx, idx+len).equals(dictionary[i])) {
						result += (char)('A' + i);
						idx += len;
						break;
					}
				}
			}
		}
		return result;
	}
}