超级伊恩 2024-03-26 08:09 采纳率: 45.5%
浏览 10

请问用Java怎么解

Description

听DD说刷LeetCode题有助于提高代码能力,以便在找工作时更具备强竞争力。因此,建议至少在面试前刷完500道题。但是,小明并没有真正理解DD的良苦用心,只想在他有限的时间内,完成更多在短时间内就能做出来的简单题。

温馨提示:在实际中我们不能像小明这样只挑简单的签到题刷!

Input

第一行,给出能够用来刷题的有限时间和总共有多少题目

第二行,给出每个题目所需要花的时间,其间以空格分隔

Output

输出一行在给定时间内最多能完成的题数量

img

  • 写回答

2条回答 默认 最新

  • 檀越@新空间 2024-03-26 08:09
    关注

    m0_74948836 上午好☀️☀️☀️️
    本答案参考ChatGPT-3.5

    问题描述中的问题是给定了一定的时间和题目数量,每个题目需要的时间已知,求在给定时间内最多能完成的题目数量。

    解决方案:

    1. 首先根据输入,获取给定时间和题目数量。将时间和题目数量分别保存到两个变量中。
    2. 接下来,根据输入获取每个题目所需要的时间。将每个时间保存到一个数组中。
    3. 定义一个变量用于保存已完成的题目数量的初始值为0。
    4. 循环遍历题目时间数组,将每个题目所需要的时间与给定时间进行比较。
      • 如果题目所需要的时间小于等于给定时间,则将已完成题目数量加1,并将题目所需的时间从给定时间中减去。
      • 如果题目所需要的时间大于给定时间,则跳过该题目,不做任何操作。
    5. 循环结束后,输出已完成的题目数量。

    代码示例:

    import java.util.Scanner;
    
    public class Main {
        public static void main(String[] args) {
            Scanner scanner = new Scanner(System.in);
            int time = scanner.nextInt(); // 获取给定时间
            int num = scanner.nextInt(); // 获取题目数量
    
            int[] times = new int[num]; // 创建存储每个题目所需时间的数组
            for (int i = 0; i < num; i++) {
                times[i] = scanner.nextInt();
            }
    
            int completedCount = 0; // 已完成题目数量
            for (int i = 0; i < num; i++) {
                if (times[i] <= time) {
                    completedCount++;
                    time -= times[i];
                }
            }
    
            System.out.println(completedCount);
        }
    }
    

    希望这个解决方案能够帮到你。

    评论

报告相同问题?

问题事件

  • 创建了问题 3月26日