C/C++教程

LeetCode刷题19-执行时长

本文主要是介绍LeetCode刷题19-执行时长,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

 

 

 1 package exam;
 2 
 3 import java.util.Scanner;
 4 
 5 /**
 6  * 功能描述
 7  *
 8  * @author ASUS
 9  * @version 1.0
10  * @Date 2022/8/7
11  */
12 public class Main01 {
13     public static void main(String[] args) {
14         Scanner scanner = new Scanner(System.in);
15         // 一次最多执行个数
16         Integer max = Integer.parseInt(scanner.nextLine());
17         // 任务数组长度
18         String length = scanner.nextLine();
19         // 任务数组
20         String s = scanner.nextLine();
21         String[] split = s.split(" ");
22         // 最少耗时
23         int time = 0;
24         int task = 0;
25         // 当前任务累计数
26         for (int i = 0; i < split.length; i++) {
27             Integer s1 = Integer.parseInt(split[i]);
28             if (s1 >= max) {
29                 task = task + s1 - max;
30                 time++;
31             }
32 
33             if (s1 < max) {
34                 int temp = task + s1 - max;
35                 task = temp >= 0 ? temp : 0;
36                 time++;
37             }
38         }
39         // 还有未执行的任务需要再花时间执行
40         int i = 0;
41         if (task > 0) {
42             if (task % 3 > 0) {
43                 i = task / 3 + 1;
44             } else {
45                 i = task / 3;
46             }
47         }
48         System.out.println(Math.addExact(time, i));
49     }
50 }

 

这篇关于LeetCode刷题19-执行时长的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!