最短木板长度 - 贪心思维

系列文章目录

文章目录


前言

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

一、题目描述

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

输出:

相关推荐
民乐团扒谱机3 分钟前
【微科普】GN 算法:在网络的脉络中,寻找社群的边界
开发语言·算法·matlab·语言学·语义网络分析
星诺算法备案16 分钟前
AI小程序合规指南:从上线要求到标识的“双保险”
人工智能·算法·推荐算法·备案
阿拉伯柠檬28 分钟前
实现一个异步操作线程池
开发语言·数据结构·c++·面试
一只乔哇噻34 分钟前
java后端工程师+AI大模型开发进修ing(研一版‖day61)
java·开发语言·学习·算法·语言模型
Cx330❀1 小时前
Git 基础操作通关指南:版本回退、撤销修改与文件删除深度解析
大数据·运维·服务器·git·算法·搜索引擎·面试
前端小白在前进1 小时前
力扣刷题:合并两个有序数组
算法·leetcode·职场和发展
2401_860494701 小时前
在React Native鸿蒙跨平台开发中实现一个桶排序算法,如何使用任何排序算法对每个桶中的元素进行排序,再将所有桶中的元素合并成一个有序数组
javascript·react native·react.js·ecmascript·排序算法·harmonyos
john_hjy1 小时前
标量、向量、矩阵、张量
算法·机器学习·矩阵
qq_430855881 小时前
线代第一章行列式第八课:克莱姆法则(Cramer法则)
线性代数·算法·矩阵
小妖6661 小时前
力扣(LeetCode)- 542. 01 矩阵
算法·leetcode·矩阵