题解 | #【模板】哈夫曼编码#
【模板】哈夫曼编码
https://www.nowcoder.com/practice/4c0419eb07c840ca8402e4f2a52cfd49
import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.io.StreamTokenizer; import java.util.PriorityQueue; import java.util.Scanner; // 注意类名必须为 Main, 不要有任何 package xxx 信息 public class Main { public static void main(String[] args) throws IOException{ BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); StreamTokenizer st =new StreamTokenizer(br); st.nextToken();int n = (int)st.nval; PriorityQueue<Long> queue = new PriorityQueue<>(); for(int i =0;i<n;i++){ st.nextToken();long count = (long)st.nval; queue.add(count); } long root; long minLen=0; while(queue.size()>1){ root = queue.remove()+queue.remove(); minLen+=root; queue.add(root); } System.out.println(minLen); } }