面试算法-136-安排工作以达到最大收益

题目

你有 n 个工作和 m 个工人。给定三个数组: difficulty, profit 和 worker ,其中:

difficulty[i] 表示第 i 个工作的难度,profit[i] 表示第 i 个工作的收益。
worker[i] 是第 i 个工人的能力,即该工人只能完成难度小于等于 worker[i] 的工作。
每个工人 最多 只能安排 一个 工作,但是一个工作可以 完成多次 。

举个例子,如果 3 个工人都尝试完成一份报酬为 $1 的同样工作,那么总收益为 $3 。如果一个工人不能完成任何工作,他的收益为 $0 。
返回 在把工人分配到工作岗位后,我们所能获得的最大利润 。

示例 1:

输入: difficulty = [2,4,6,8,10], profit = [10,20,30,40,50], worker = [4,5,6,7]
输出: 100
解释: 工人被分配的工作难度是 [4,4,6,6] ,分别获得 [20,20,30,30] 的收益。

class Solution {public int maxProfitAssignment(int[] difficulty, int[] profit, int[] worker) {Arrays.sort(worker);int n = difficulty.length;Integer[] index = new Integer[n];for (int i = 0; i < n; i++) {index[i] = i;}Arrays.sort(index, (a, b) -> difficulty[a] - difficulty[b]);int sumProfit = 0;for (int wor : worker) {int profi = 0;int left = 0;while (left < n && wor >= difficulty[index[left]]) {profi = Math.max(profi, profit[index[left]]);left++;}sumProfit += profi;}return sumProfit;}
}

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

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

相关文章

【LeetCode】第2题:两数相加(AHK v2)

LeetCode第2题&#xff1a;两数相加(AHK v2) You are given two non-empty linked lists representing two non-negative integers. The digits are stored in reverse order and each of their nodes contain a single digit. Add the two numbers and return it as a linked …

ssm024家政服务网站设计+jsp

家政服务管理系统 摘 要 随着社会的发展&#xff0c;社会的各行各业都在利用信息化时代的优势。计算机的优势和普及使得各种信息系统的开发成为必需。 家政服务网站&#xff0c;主要的模块包括查看管理员&#xff1b;个人中心、用户管理、服务类型管理、家政类型管理、家政评…

学代码是理解就行,还是全部背?

在我没接触编程以前&#xff0c;看到程序&#xff0c;觉得这玩意到底怎么写出来的&#xff0c;写出这些代码的人&#xff0c;也太厉害了吧&#xff1f; 不会很多都要背下来吧&#xff1f; 我小学背课本都费劲&#xff0c;背不出来&#xff0c;中午不准回家吃饭&#xff0c;我就…

【ARM 嵌入式 C 字符串系列 23.3 -- snprintf 函数详细介绍并举例】

请阅读【嵌入式开发学习必备专栏 】 文章目录 snprintf 函数简介函数原型返回值示例总结 snprintf 函数简介 snprintf 函数是 C 语言中的一个标准库函数&#xff0c;用于将格式化的数据写入字符串。它是 printf 函数族的一部分&#xff0c;与 sprintf 类似&#xff0c;但提供了…

【零基础入门芯片课】半导体是什么?

大家好&#xff0c;我是砖一。 今天给大家分享一下半导体的基础知识&#xff0c;普及一下何为半导体&#xff0c;有从事IC&#xff0c;功率元器件&#xff0c;开关电源的朋友可以了解一下&#xff0c;希望对你有用~ 近几年&#xff0c;我们或多或少听过半导体&#xff0c;芯片…

02 Python进阶:CGI编程

什么是CGI CGI是通用网关接口&#xff08;Common Gateway Interface&#xff09;的缩写&#xff0c;它是一种标准协议&#xff0c;用于Web服务器执行外部程序或脚本与Web浏览器进行交互。通过CGI&#xff0c;Web服务器能够动态生成网页内容&#xff0c;处理用户提交的表单数据…

33-5 XXE漏洞 - xxe外部实体注入相关工具

1)xxe.sh || OOB XXE tool:一个方便的网站,可以输入您的域名并生成OOB XXE PoC。适用于盲注Out-of-band攻击。(主要) 2)staaldraad/xxeserv :简化FTP服务器的设置,以通过FTP接收OOB XXE攻击 以下是 ./xxeserv 命令的使用说明: Usage of ./xxeserv:-o string记录日志…

js的Proxy和Reflect

目录 Proxy对象的基本操作常见捕获器getset函数相关拦截器 ReflectReflect与基本语法的区别Reflect常见方法 Proxy和Reflect 在 ES6之前&#xff0c;如果我们对对象进行 新增或者删除属性时&#xff0c;仅靠原有的 Object.defineProperty是无法 监听的&#xff0c;基于此&a…

QT4-QT5-VS2019-编译无法打开文件 QtCore/qchar.h

1.系统环境变量 添加QTDIR 添加PATH 2.项目配置 2.1vc目录&#xff1a;包含目录库目录 2.2C/C 常规&#xff1a;附加包含目录QT5的头文件必须在附加包含目录里配置。 2.3链接器&#xff1a;附加库目录 2.4QTProject Settings

镜舟科技荣获第十三届中国智能制造高峰论坛两项大奖

2024年3月29日&#xff0c;由e-works数字化企业网和湖北省中小企业服务中心联合主办&#xff0c;中国中小企业发展促进中心指导的“第十三届中国智能制造高峰论坛暨第二十一届中国智能制造岁末盘点颁奖典礼”在北京圆满落幕。本次论坛汇聚了国内外智能制造领域的专家学者、企业…

有效的职场沟通及其重要性

欢迎来到职场沟通的世界&#xff0c;在这里&#xff0c;每一个词都至关重要&#xff0c;沉默则能传达出无尽的信息。一个有效沟通能力不仅仅是在线办公套件中的可选配件&#xff0c;而是一项绝对必需的能力。今天我们与您分享有效的职场沟通及其重要性。有效的职场沟通可以增强…

Redis高可用及持久化

文章目录 一、Redis高可用1、Redis高可用概述2、Redis高可用策略 二、Redis持久化1、Redis持久化的功能2、Redis持久化的两种方式2.1 RDB持久化2.2 AOF持久化&#xff08;append only file&#xff09; 3、RDB持久化3.1 触发条件3.1.1 手动触发3.1.2 自动触发3.1.2.1 配置方式3…

桶排序---

1、算法概念 桶排序&#xff1a;一种非比较的排序算法。桶排序采用了一些分类和分治的思想&#xff0c;把元素的值域分成若干段&#xff0c;每一段对应一个桶。在排序的时候&#xff0c;首先把每一个元素放到其对应的桶中&#xff0c;再对每一个桶中的元素分别排序&#xff0c…

python面向对象的四大支柱:抽象、封装、继承、多态

1. 抽象 在面向对象编程中&#xff0c;抽象是指将类的属性和方法捆绑在一起&#xff0c;形成一个整体。抽象类无法实例化&#xff0c;但可以作为其他类的基类或父类。在Python中&#xff0c;我们使用abc模块定义抽象类&#xff0c;其中至少包含一个抽象方法。抽象方法是无法直…

EF数据持久化(三层架构,公司查,改)

效果图 Model设置具体流程在下面链接中 https://blog.csdn.net/Mr_wangzu/article/details/136805824?spm1001.2014.3001.5501 DAL using System; using System.Collections.Generic; using System.Linq; using System.Web; using WebApplication2.Models; namespace WebAppli…

基于OpenStack官方的Ubuntu 22.04.3 LTS部署OpenStack-Bobcat教程(Neutron使用OVN)

基于OpenStack官方的Ubuntu 22.04.3 LTS部署OpenStack-Bobcat教程&#xff08;Neutron使用OVN&#xff09; 注意事项机器详情基础配置Controller节点设置主机名设置静态IP配置hosts Compute节点设置主机名设置静态IP配置hosts 验证配置Controller节点 && Compute节点 配…

web蓝桥杯真题:输入搜索联想

代码及注释&#xff1a; <!-- TODO&#xff1a;请在下面实现需求 --> <span>搜索名字: </span> <input placeholder"输入要搜索的名字" v-model"searchQuery"/> //绑定值 <table><thead><tr> //分割…

结构体,联合体,枚举( 2 )

目录 2.联合体 2.1联合体类型的声明 2.2联合体的特点 2.3联合体的内存大小 3.枚举 3.1枚举类型的声明 3.2枚举类型的优点 3.3枚举类型的使用 2.联合体 联合体&#xff08;Union&#xff09;是另一种复合数据类型&#xff0c;它允许我们在同一内存位置存储不同的数据类型…

UE4_动画基础_ 瞄准偏移1D(Aim Offset Blend Space 1D)

瞄准偏移1D基本上可以完成角色的向左看向右看或者向上看向下看&#xff0c;像混合空间1D一样只有一个轴向可用。 操作步骤&#xff1a; 1、新建第三人称模板项目。 2、右键——动画——瞄准偏移1D 选取骨骼 双击打开 3、瞄准偏移混合的是姿势&#xff0c;我们需要创建姿势。 …

结合创新!多尺度特征融合+Transformer,参数和计算成本减半

通过多尺度特征融合&#xff0c;模型能够捕捉到不同层次的视觉细节&#xff0c;而Transformer的自注意力机制能够在这些不同层次的特征之间建立联系&#xff0c;有效地整合全局上下文信息&#xff0c;让模型能够应对多样化的视觉场景和变化。 这种结合策略充分利用了二者各自的…