解题思路: 用数组链表进行排序和增加、删除元素
注意事项: 注意删除最小两个元素是执行两次arr.get(0),因为每删除一个元素,数组链表的结构就发生变化
参考代码:
import java.util.ArrayList; import java.util.Collections; import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner in = new Scanner(System.in); int n =in.nextInt(),m=in.nextInt(); ArrayList<Integer> arr = new ArrayList<Integer>(); for(int i=0;i<n;i++) arr.add(in.nextInt()); Collections.sort(arr); //排序升序 for(int k=1;k<=m;k++) { arr.add(arr.get(0)+arr.get(1)); //选择最小的两条进行体重的复合 arr.remove(0);arr.remove(0);//删除最小的两个 Collections.sort(arr); } System.out.println(arr.get(0)); in.close(); } }
0.0分
3 人评分