蓝桥杯 Huffuman树求总费用
package algorithm.learning.basic;
import java.util.Arrays;
import java.util.Scanner;
public class Main28 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
int[] nums = new int[n];
for (int i = 0; i < n; i++) {
nums[i] = sc.nextInt();
}
int num=0;
//对原数组排序
Arrays.sort(nums);
//利用插入排序将最小两个数的和放入剩余数中
for (int i = 0; i < n-1; i++) {
int temp = nums[i]+nums[i+1];
num += temp ;
int j = i+1;
while(j<n-1&&temp>nums[j+1]) {
nums[j] = nums[j+1];
j++;
}
nums[j] = temp;
}
System.out.println(num);
}
}