【蓝桥杯】【基础】【Java】Huffuman树
原创
©著作权归作者所有:来自51CTO博客作者wx5cee84fb43fbb的原创作品,请联系作者获取转载授权,否则将追究法律责任
注意点
* 易忽视点: 数组中空出来的数字为0,而没有消失。所以在排序后0肯定在最前面。
* 这就需要对于实质想用的数字随着j的变化而增加。
* 每次在移位后,记得要把数组的最后一个元素值赋值为0。
*/
package Huffuman树;
import java.util.Arrays;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int n = scanner.nextInt();
int[] a = new int[n];
for(int i = 0; i < n; i++){
a[i] = scanner.nextInt();
}
int j = 0;
int total = 0;
/**
* 易忽视点: 数组中空出来的数字为0,而没有消失。所以在排序后0肯定在最前面。
* 这就需要对于实质想用的数字随着j的变化而增加。
* 每次在移位后,记得要把数组的最后一个元素值赋值为0。
*/
for(j = 0; j < n-1; j++){
Arrays.sort(a);
System.out.println();
a[j] = a[j] + a[j+1];
total += a[j];
for(int i = j + 2; i < n; i++){
a[i-1] = a[i];
}
a[n-1] = 0;
}
System.out.println(total);
}
}