谈判(贪心算法)

题目

java 复制代码
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.Scanner;

public class Main {
	public static void main(String[] args) {		
		Scanner sc = new Scanner(System.in);
		int n = sc.nextInt();

		sc.nextLine();
		
    List<Integer> list = new ArrayList<>();
		for(int i=0;i<n;i++) {
			int x = sc.nextInt();
			list.add(x);
		}
		
    Collections.sort(list);//1 3 5 9
		
    int sum = 0;
		while(list.size()!=1) {
			int a = list.get(0);
			int b = list.get(1);
			int c = a+b;
			sum+=c;
			list.remove(0);//3 5 9
			list.remove(0);//5 9
			list.add(c);//5 9 4
			Collections.sort(list);//4 5 9
		}
		System.out.println(sum);
		sc.close();
	}
}
相关推荐
weixin_462446232 分钟前
EasyExcel 动态修改模板 Sheet 名称:自定义 SheetWriteHandler 拦截器
java·开发语言·easyexcel
赵庆明老师8 分钟前
NET 使用SmtpClient 发送邮件
java·服务器·前端
苏小瀚9 分钟前
[Java EE] HTML·CSS·JavaScript基础
java·java-ee
绝世唐门三哥20 分钟前
使用Intersection Observer js实现超出视口固定底部按钮
开发语言·前端·javascript
李拾叁的摸鱼日常20 分钟前
Spring 框架中 RequestContextHolder 深度解析
java·架构
Ayu阿予28 分钟前
C++从源文件到可执行文件的过程
开发语言·c++
C++业余爱好者29 分钟前
JVM优化入门指南:JVM垃圾收集器(GC)介绍
java·开发语言·jvm
福尔摩斯张30 分钟前
基于C++的UDP网络通信系统设计与实现
linux·c语言·开发语言·网络·c++·tcp/ip·udp
Trouvaille ~35 分钟前
【Java篇】基石与蓝图::Object 类与抽象类的双重奏
java·开发语言·javase·抽象类·类与对象·基础入门·object类
卜锦元37 分钟前
Golang中make()和new()的区别与作用?
开发语言·后端·golang