最短木板长度 - 贪心思维

系列文章目录

文章目录


前言

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

一、题目描述

小明有 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

输出:

相关推荐
xu_yule17 分钟前
数据结构与算法(1)(第一章复杂度知识点)(大O渐进表示法)
数据结构
大江东去浪淘尽千古风流人物1 小时前
【DSP】向量化操作的误差来源分析及其经典解决方案
linux·运维·人工智能·算法·vr·dsp开发·mr
fish_xk1 小时前
数据结构之排序
数据结构
Unstoppable221 小时前
代码随想录算法训练营第 56 天 | 拓扑排序精讲、Dijkstra(朴素版)精讲
java·数据结构·算法·
potato_may1 小时前
CC++ 内存管理 —— 程序的“五脏六腑”在哪里?
c语言·开发语言·数据结构·c++·内存·内存管理
饕餮怪程序猿2 小时前
A*算法(C++实现)
开发语言·c++·算法
电饭叔2 小时前
不含Luhn算法《python语言程序设计》2018版--第8章14题利用字符串输入作为一个信用卡号之二(识别卡号有效)
java·python·算法
2301_800256112 小时前
8.2 空间查询基本组件 核心知识点总结
数据库·人工智能·算法
不穿格子的程序员2 小时前
从零开始写算法——矩阵类题:矩阵置零 + 螺旋矩阵
线性代数·算法·矩阵
我是华为OD~HR~栗栗呀2 小时前
华为OD-C面经-23届学院哦
java·c++·python·华为od·华为·面试