(Java实现) 最佳调度问题
JAVA 实现 最佳 调度 问题
2023-09-14 08:58:18 时间
题目描述
假设有n个任务由k个可并行工作的机器完成。完成任务i需要的时间为ti。试设计一个算法找出完成这n个任务的最佳调度,使得完成全部任务的时间最早。
对任意给定的整数n和k,以及完成任务i需要的时间为ti,i=1~n。编程计算完成这n个任务的最佳调度。
输入
给出输入数据。第一行有2 个正整数n和k。第2 行的n个正整数是完成n个任务需要的时间。
输出
将计算出的完成全部任务的最早时间输出
样例输入
7 3
2 14 4 16 6 5 3
样例输出
17
import java.util.Arrays;
import java.util.Scanner;
public class zuijiatiaozhengwenti {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
int k = sc.nextInt();
int [] a = new int [k+1];
int [] num = new int [n+1];
int [] num1 = new int [n+1];
for (int i = 1; i < num.length; i++) {
num[i]=sc.nextInt();
}
Arrays.sort(num);
for (int i = 1; i < num1.length; i++) {
num1[i]=num[num.length-i];
}int b = 0;
int temp = 1;
for (int i = 0; ; i++) {
for (int j = 1; j <=k; j++) {
if(a[j]==0 && temp !=n+1){
a[j]=num1[temp];
temp++;
}
if(a[j]!=0){
b=-1;
a[j]-=1;
}
}
if(b==0){
System.out.println(i);
break;
}
b=0;
}
}
}
相关文章
- java long string 转换_Java long 转成 String的实现[通俗易懂]
- java线程池的面试题_献给准备面试的你,Java线程and线程池面试题小结「建议收藏」
- java工作流_Java 实现简单工作流
- Java实现MD5算法
- MySQL字段类型如何转为java_Java JDBC中,MySQL字段类型到JAVA类型的转换
- java生成license_使用truelicense实现用于JAVA工程license机制(包括license生成和验证)…
- 用java实现笛卡尔积_Java实现笛卡尔积
- Java多线程的实现
- Java 自带的加密类MessageDigest类(加密MD5和SHA)详解编程语言
- java实现网络爬虫程序demo详解编程语言
- 学习如何使用Linux环境运行Java程序(linux下的java)
- Oracle转Java实现跨平台开发的奇妙之旅(oracle转java)
- 写入数据Java实现MySQL数据写入(java向mysql)
- Linux调用Java实现编程快速开发(linux调用java)
- 实现Java实现Redis集合的技术研究(redis集合java)
- Linux安装Java环境必备指南(linux装java)
- 机制Java实现Redis过期机制(redisjava过期)
- 机制Redis Java实现键值对过期机制(redisjava过期)
- 使用Java实现Redis数据存储(redis集成java)
- 策略利用Redis Java实现高效过期策略(redisjava过期)
- 设置利用Java实现Redis键的过期设置(redisjava过期)
- 实现实现Java中Redis过期控制(redisjava过期)
- 实现Java实现的Redis封装类:强化Redis技术支持(redis封装类java)
- Java与Linux:前景迷人的新科技(java和linux前景)
- Java与MySQL的无缝衔接:实现高效数据操作(java中使用mysql)
- Linux下运行Java:一步步踏上学习之路(linux下运行java)
- Linux上善用Java:实现智能开发(linux 运行java)
- 编程Oracle数据库中实现Java编程的突破之道(oracle使用java)
- Redis中使用Java快速实现自增(redis自增 java)
- java实现浮点数转人民币的小例子
- Java实现文件批量重命名具体实例
- java实现区域内屏幕截图示例