华为od-C卷200分题目5 -项目排期

华为od-C卷200分题目5 -项目排期

题目描述
项目组共有N个开发人员,项目经理接到了M个独立的需求,每个需求的工作量不同,且每个需求只能由一个开发人员独立完成,不能多人合作。

假定各个需求之间无任何先后依赖关系,请设计算法帮助项目经理进行工作安排,使整个项目能用最少的时间交付。

输入
第一行输入为M个需求的工作量,单位为天,用逗号隔开。 例如:X1 X2 X3 … Xm 。

表示共有M个需求,每个需求的工作量分别为X1天,X2天…Xm天。
其中0 < M < 30;0 < Xm < 200
第二行输入为项目组人员数量N

输出
最快完成所有工作的天数
样例输入 复制
6 2 7 7 9 3 2 1 3 11 4
2
样例输出 复制
28
提示
共有两位员工,其中一位分配需求 6 2 7 7 3 2 1 共需要28天完成,另一位分配需求 9 3 11 4 共需要27天完成,故完成所有工作至少需要28天。

import java.util.*;
import java.util.stream.Collectors;public class Main {public static void main(String[] args) {Scanner sc = new Scanner(System.in);String s = sc.nextLine();List<Integer> list = Arrays.stream(s.split(" ")).map(Integer::parseInt).sorted((o1, o2) -> o2 - o1).collect(Collectors.toList());int n = sc.nextInt();PriorityQueue<Integer> queue = new PriorityQueue<>();for (int i = 0; i < n; i++) {queue.add(0);}int max = Integer.MIN_VALUE;for (Integer integer : list) {Integer poll = queue.poll() + integer;max = Math.max(poll, max);queue.offer(poll);}System.out.println(max);}
}

思路:非常简单,先按照从打到小的顺序排序,然后按照每个人分的最小值进行排序,谁最小谁就先分,用优先级队列就非常简单,每次给第一个分就行了。可以自己打草稿,测试下这种方法,是对的。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/38439.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

使用DDR的MIG IP核,如何提高DDR的读写效率

要提高DDR MIG&#xff08;Memory Interface Generator&#xff09;的读写效率&#xff0c;有几种策略和技巧可以考虑&#xff1a; burst传输优化&#xff1a; 尽可能使用最大的burst长度。DDR3/DDR4通常支持8beat或8n beat的burst。更长的burst可以提高数据传输效率&#xff0…

IDLE-python windows官方安装包下载国内镜像下载地址汇总

此为IDLE-windows安装包,exe格式只能在windows x64系统下面使用 序号版本名称下载地址1IDLE-python-3.12.4-amd64.exe点我下载2IDLE-python-3.11.9-amd64.exe点我下载3IDLE-python-3.10.11-amd64.exe点我下载4IDLE-python-3.9.13-amd64.exe点我下载5IDLE-python-3.8.10-amd64.…

html--橙色火箭404维护

<!DOCTYPE html> <html> <head><meta charset"UTF-8"><title>系统维护通知</title><link rel"stylesheet" type"text/css" href"css/notice.css"/> </head> <body><div cla…

代码随想录——柠檬水找零(Leetcode860)

题目链接 贪心 class Solution {public boolean lemonadeChange(int[] bills) {if(bills[0] 10 || bills[0] 20 || bills[1] 20){return false;}int count5 1;int count10 0;for(int i 1; i < bills.length; i){if(bills[i] 5){count5;}if(bills[i] 10){count10;…

解决Java中的ParseException异常的实用方法

解决Java中的ParseException异常的实用方法 大家好&#xff0c;我是免费搭建查券返利机器人省钱赚佣金就用微赚淘客系统3.0的小编&#xff0c;也是冬天不穿秋裤&#xff0c;天冷也要风度的程序猿&#xff01; 了解ParseException异常 ParseException是Java中常见的异常之一&…

重温react-11(userMemo和useContext的使用方式)

userMemo import React, { useState, useMemo } from reactexport default function LearnFunction08() {const [num1] useState(0);const [num2, setNum2] useState(0);const [num3, setNum3] useState(0);const number useMemo(() > {console.log(调用了吗);return n…

51单片机第16步_点灯

本章重点学习软件延时和普通IO口输出。 1、delay.c如下&#xff1a; #include <intrins.h> //包含头文件intrins.h,要放在stdio.h的头文件之前; //使能函数如下: //1 _nop_(); 相当于汇编的NOP指令; //2 bit _testbit_( bit bit_value ); 对bit_value进行测试,若b…

ZooKeeper 入门:初学者指南

在分布式系统领域&#xff0c;协调和同步至关重要。Apache ZooKeeper 是一种分布式协调服务&#xff0c;是帮助管理和同步分布式环境中服务的基本组件。本指南旨在深入分析 ZooKeeper、其架构及其在现代分布式系统中的作用。我们还将探索一个示例来展示其实际影响。 ZooKeeper…

Geeker-Admin:现代化的开源后台管理框架

Geeker-Admin&#xff1a;优雅管理&#xff0c;高效开发&#xff0c;尽在Geeker-Admin- 精选真开源&#xff0c;释放新价值。 概览 Geeker-Admin是一个基于Vue 3.4、TypeScript、Vite 5、Pinia和Element-Plus构建的开源后台管理框架。它为开发者提供了一套现代化、响应式的管理…

vue3的配置和使用

vue的使用需要配置node且node版本需要在15以上。管理员方式打开cmd&#xff0c;输入node -v&#xff0c;可以查看node版本。 创建vue有以下两种方式 npm init vuelatestnpm create vuelatest创建后输入项目名&#xff0c;其它的输入否即可&#xff0c;新手可以先不用 按照要求…

【信息系统项目管理师知识点速记】组织通用治理:转型升级

22.3转型升级 当组织面临社会经济发展环境不断变化、社会竞争日趋激烈、客户和服务对象需求日益个性化、发展空间和发展动能被不断挤压等挑战时,积极主动开展深层次的转型升级是组织可持续发展的关键,适时地进行组织优化调整升级是组织谋求健康发展的迫切要求和必然路径。 …

WebKit 简介及工作流程深度解析

WebKit 是一个开源的浏览器引擎&#xff0c;最初由苹果公司为 Safari 浏览器开发&#xff0c;后来被多个浏览器和应用采纳&#xff0c;如早期的 Chrome 和众多移动平台上的浏览器。WebKit 不仅仅是一个渲染引擎&#xff0c;它集成了 HTML、CSS、JavaScript 的解析与渲染能力&am…

代理ip的种类及区别

HTTP 代理ip HTTP 代理ip是最常见的代理ip类型&#xff0c;它们使用与大多数网站非常兼容的 HTTP 协议。HTTP 代理ip在很大程度上已被淘汰&#xff0c;因为 HTTP 发送的数据未加密。这使得黑客或怀有恶意的用户很容易窃取您的所有数据。 即使有很大的缺点&#xff0c;您仍然可…

安全与加密常识(4)证书签名请求(CSR)

文章目录 什么是CSRCSR的作用如何生成CSR什么是CSR 证书签名请求(Certificate Signing Request,简称CSR)是一个由申请证书的实体(如公司或个人)生成的文件,其中包含申请者的公钥和身份信息(如组织名称、通用名、地点等)。CSR主要用于在数字证书认证过程中向证书颁发机…

解决git无法管理idea后端项目文件

看看后端项目中有没有.iml后缀的文件&#xff0c;把它删掉&#xff0c;然后重新加载maven

【01最短路 BFS】1368. 使网格图至少有一条有效路径的最小代价

如果有不明白的&#xff0c;请加文末QQ群。 本文涉及知识点 01最短路 CBFS算法 图论知识汇总 LeetCode 1368. 使网格图至少有一条有效路径的最小代价 给你一个 m x n 的网格图 grid 。 grid 中每个格子都有一个数字&#xff0c;对应着从该格子出发下一步走的方向。 grid[i]…

【redis】redis分片集群基础知识

1、基本概念 1.1定义 分片&#xff1a;数据按照某种规则&#xff08;比如哈希&#xff09;被分割成多个片段&#xff08;或分片&#xff09;&#xff0c;每个片段被称为一个槽&#xff08;slot&#xff09;。槽是Redis分片集群中数据的基本单元。节点&#xff1a;Redis分片集…

DRAM vs. SRAM:了解动静态随机存取存储器的区别

在计算机领域&#xff0c;DRAM&#xff08;动态随机存取存储器&#xff09;和SRAM&#xff08;静态随机存取存储器&#xff09;是两种重要的存储器类型。它们在结构、工作原理、性能和应用上都有显著的不同。本文将详细介绍这两种存储器&#xff0c;帮助基础小白理解它们的区别…

LLama-Factory使用教程

本文是github项目llama-factory的使用教程 注意&#xff0c;最新的llama-factory的github中训练模型中&#xff0c;涉及到本文中的操作全部使用了.yaml配置。 新的.yaml的方式很简洁但不太直观&#xff0c;本质上是一样的。新的readme中的.yaml文件等于下文中的bash指令 PS: …

利用谷歌云serverless代码托管服务Cloud Functions构建Gemini Pro API

谷歌在2024年4月发布了全新一代的多模态模型Gemini 1.5 Pro&#xff0c;Gemini 1.5 Pro不仅能够生成创意文本和代码&#xff0c;还能理解、总结上传的图片、视频和音频内容&#xff0c;并且支持高达100万tokens的上下文。在多个基准测试中表现优异&#xff0c;性能超越了ChatGP…