解题思路: 用数组链表进行排序和增加、删除元素
注意事项: 注意删除最小两个元素是执行两次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 人评分
字符串输入输出函数 (C++代码)(都当成字符串吧hhhhhhhh)浏览:493 |
C语言程序设计教程(第三版)课后习题8.6 (C语言代码)浏览:538 |
WU-复数求和 (C++代码)浏览:2015 |
C语言训练-求s=a+aa+aaa+aaaa+aa...a的值 (C语言代码)浏览:692 |
C语言程序设计教程(第三版)课后习题8.5 (C语言代码)浏览:938 |
最小公倍数 (C语言代码)浏览:1029 |
大神老白 (C语言代码)浏览:601 |
C语言程序设计教程(第三版)课后习题5.7 (C语言代码)浏览:567 |
C语言程序设计教程(第三版)课后习题10.7 (C语言代码)浏览:1220 |
剔除相关数 (C语言代码)浏览:1092 |