解题思路:
注意事项:
参考代码:
import java.util.ArrayList; import java.util.Collections; import java.util.Scanner; public class huffman树 { public static void main(String[] args) { Scanner in=new Scanner(System.in); int n=in.nextInt(); ArrayList<Integer> array=new ArrayList<Integer>(); for(int i=0;i<n;i++){ array.add(in.nextInt()); } int count=0; int i=0; while(array.size()!=1){ Collections.sort(array);//将array排序(升序) int temp=array.get(i)+array.get(++i);//将最小两个数计算出和存入temp array.set(i, temp);//替换第二大的数, count+=temp; array.remove(--i);//删除最小的数 } System.out.println(count); } }
0.0分
4 人评分
简单的a+b (C语言代码)浏览:721 |
C语言程序设计教程(第三版)课后习题7.3 (C语言代码)浏览:619 |
C语言程序设计教程(第三版)课后习题4.9 (C语言代码)浏览:590 |
C语言程序设计教程(第三版)课后习题1.5 (C++代码)浏览:1078 |
本人酷爱递归实现很多问题,这里也是浏览:549 |
C语言程序设计教程(第三版)课后习题5.7 (C语言代码)浏览:1144 |
C语言程序设计教程(第三版)课后习题7.2 (C语言代码)浏览:798 |
【金明的预算方案】 (C++代码)浏览:935 |
C语言程序设计教程(第三版)课后习题9.2 (C语言代码)浏览:556 |
蛇行矩阵 (C语言代码)浏览:524 |