最短木板长度 - 贪心思维

系列文章目录

文章目录


前言

本人最近再练习算法,所以会发布自己的解题思路,希望大家多指教

一、题目描述

小明有 n 块木板,第 i ( 1 ≤ i ≤ n ) 块木板长度为 ai。 小明买了一块长度为 m 的木料,这块木料可以切割成任意块,拼接到已有的木板上,用来加长木板。 小明想让最短的木板尽量长。 请问小明加长木板后,最短木板的长度可以为多少?

二、输入描述

输入的第一行包含两个正整数,n(1≤n≤10^3), m(1≤m≤10^6);

n表示木板数,m表示木板长度。输入的第二行包含n个正整数,a1,a2,...an(1≤ai≤10^6);

三、输出描述

输出的唯一一行包含一个正整数,表示加长木板后,最短木板的长度最大可以为多少?

四、java代码

java 复制代码
	public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        String[] split = scanner.nextLine().split(" ");
        //获取长度为M的木料
        int m = Integer.parseInt(split[1]);
        int[] array = Arrays.stream(scanner.nextLine().split(" ")).mapToInt(Integer::parseInt).toArray();
        //倒序排序
        Arrays.sort(array);
        for (int i = 0; i < m; i++) {
            //依次从长度M中取出1,加到排序后长度最小的木板上
            array[0]++;
            //重新排序
            Arrays.sort(array);
        }
        System.out.println(array[0]);
    }

五、测试用例

输入:

6 5

3 2 4 6 3 4

输出:

相关推荐
qeen873 分钟前
【算法笔记】差分与经典例题解析
c语言·c++·笔记·学习·算法·差分
HZ·湘怡4 分钟前
双链表 -- 带头 双向 循环 链表
数据结构·链表·双链表
kronos.荒8 分钟前
动态规划——整数拆分(python)
python·算法·动态规划
cici1587415 分钟前
基于Koopman模型预测控制的非线性流控制数据驱动框架
算法
6Hzlia16 分钟前
【Hot 100 刷题计划】 LeetCode 416. 分割等和子集 | C++ 0-1背包 1D空间极致优化
c++·算法·leetcode
穿条秋裤到处跑18 分钟前
每日一道leetcode(2026.04.21):执行交换操作后的最小汉明距离
java·算法·leetcode
Tina学编程19 分钟前
算法训练Day10 | LeetCode 169 多数元素
算法·leetcode
eggrall20 分钟前
Leetcode 将 x 减到 0 的最小操作数
数据结构
sheeta199827 分钟前
LeetCode 每日一题笔记 日期:2026.04.22 题目:2452. 距离字典两次编辑以内的单词
笔记·算法·leetcode
Lazionr32 分钟前
【链表经典OJ-上】
c语言·数据结构·链表