华为OD机试真题【最大利润】
1、题目描述
【最大利润】
商人经营一家店铺,有number种商品,由于仓库限制每件商品的最大持有数量是item[index]
每种商品的价格是item-price[item_index][day]
通过对商品的买进和卖出获取利润
请给出商人在days天内能获取的最大的利润
注:同一件商品可以反复买进和卖出
2、解题思路
该题是买卖股票最佳时机的改编题,可用贪心算法和动态规划解题。这题运用贪心算法思想解题,首先将最大利润设置为0。然后遍历Q每件商品,计算利润。
●遍历每天的价格,计算该商品每天的利润当天价格 减 前一天价格的差值,如果差值为负数,则取0。
●将每天的利润累加,得到该商品总利润。
●计算该商品的最大利润,商品利润*仓库限制的最大持有数量。
●将商品最大利润累加到总利润。
3、参考代码
import java.util.Scanner;/*** @Author * @Date 2023/4/26 23:10*/
public class 最大利润 {public static void main(String[] args) {Scanner in = new Scanner(System.in);while (in.hasNext()) {int number = in.nextInt();int days = in.nextInt();int[] item = new int[number];int[][] prices = new int[number][days]; // 每件商品每天的价格for (int i = 0; i < number; i++) {item[i] = in.nextInt();}for (int i = 0; i < number; i++) {for (int j = 0; j < days; j++) {prices[i][j] = in.nextInt();}}// 最大利润int res = 0;// 遍历每件商品,计算利润for (int i = 0; i < number; i++) {int maxPrice = 0;// 遍历每天的价格,计算该商品每天的利润for (int j = 1; j < days; j++) {maxPrice += Math.max(0, prices[i][j] - prices[i][j - 1]);}// 将商品利润累计到总利润中res += maxPrice * item[i];}System.out.println(res);}}
}
4、相似题目
(1)买卖股票的最佳时机 II
public int maxProfit(int[] prices) {int ans = 0;int n = prices.length;for (int i = 1; i < n; ++i) {ans += Math.max(0, prices[i] - prices[i - 1]);}return ans;}相关文章:
华为OD机试真题【最大利润】
1、题目描述 【最大利润】 商人经营一家店铺,有number种商品,由于仓库限制每件商品的最大持有数量是item[index] 每种商品的价格是item-price[item_index][day] 通过对商品的买进和卖出获取利润 请给出商人在days天内能获取的最大的利润 注:…...
YOLOv5+deepsort实现目标追踪。(附有各种错误解决办法)
一、YOLOv5算法相关配置 🐸这里如果是自己只想跑一跑YOLOV5的话,可以参考本章节。只想跑通YOLOv5+deepsort的看官移步到下一章节。 1.1 yolov5下载 🐸yolov5源码在github下载地址上或者Gitee上面都有。需要注意的是由于yolov5的代码库作者一直在维护,所以下载的时候需…...
java.8 - java -overrideoverload 重写和重载
重写(Override) 重写是子类对父类的允许访问的方法的实现过程进行重新编写, 返回值和形参都不能改变。即外壳不变,核心重写! 重写的好处在于子类可以根据需要,定义特定于自己的行为。 也就是说子类能够根据需要实现父类的方法。 重写方法不…...
oracle通配符大全
用于where比较条件的有 : 等于:、<、<、>、>、<> >,<:大于,小于 >.<:大于等于,小于等于 :等于 !,<>,^:不等于 包含:in、not in exists、not exists 范围:betwe…...
浏览器开发者工具平台js代码开启展开收起
1、如下js左侧可以展开和收起段落,需要打开右上角的设置 2、Preferences这里勾选Code folding 即可像上面那张图展开和收起js段落代码 3、然后重新打开开发者工具,随意打开一个js文件,这里就有缩放了...
opencv 案例实战01-停车场车牌识别实战
需求分析: 车牌识别技术主要应用领域有停车场收费管理,交通流量控制指标测量,车辆定位,汽车防盗,高速公路超速自动化监管、闯红灯电子警察、公路收费站等等功能。对于维护交通安全和城市治安,防止交通堵塞…...
【PHP】PHP开发教程-PHP开发环境安装
1、PHP简单介绍 PHP(全称:Hypertext Preprocessor)是一种广泛使用的开放源代码脚本语言,特别适用于Web开发。它嵌入在HTML中,通过在HTML文档中添加PHP标记和脚本,可以生成动态的、个性化的Web页面。 PHP最…...
AURIX TriCore内核架构学习笔记
名词缩写 ISA - Instruction Set Architecture,指令集架构PC - Program Counter, holds the address of the instruction that is currently runningGPRs - 32 General Purpose RegistersPSW - Program Status WordPCXI - Previous Context InformationCSA - Conte…...
VMware ESXi 7.0 优化VMFSL磁盘占用与系统存储大小
文章目录 VMware ESXi 7.0 优化VMFSL磁盘占用与系统存储大小引言创建ESXi7.0可启动 U 盘结果检查VMware ESXi 7.0 优化VMFSL磁盘占用与系统存储大小 引言 本文讲述了在 J1900平台上安装ESXi7.0时减少 VMFSL 分区占用的说明, 通常这来说些主机内置的磁盘空间非常小, 采用默认安…...
4.网络设计与redis、memcached、nginx组件(二)
系列文章目录 第四章 网络设计与redis、memcached、nginx组件(一) 第五章 网络设计与redis、memcached、nginx组件(二) 文章目录 系列文章目录[TOC](文章目录) 前言一、reactor模型?二、Reactor 开发1.建立连接 三、典型reactor 模型单reactor 模型典型 readisradi…...
后端开发有哪几种语言? - 易智编译EaseEditing
后端开发是构建应用程序的一部分,负责处理服务器端的逻辑、数据库交互和数据处理。有许多编程语言可用于后端开发,以下是一些常见的后端开发语言: Java: Java是一种广泛使用的面向对象编程语言,具有强大的跨平台能力。…...
Spring 学习源码的基础 核心原理与核心概念
文章目录 核心原理AnnotationConfigApplicationContextIoC 容器加载流程Spring 中如何创建一个对象Bean 的创建过程 (生命周期)单例 原型推断构造方法依赖注入AOP 动态代理判断是否需要 AOP 的大致流程CGLib 做 AOP 的大致流程事务事务代理对象执行方法的流程事务注解排至失效的…...
cpolar做一个内网穿透
因为不在公司,需要访问公司的数据库,所以做一个内网穿透 下载安装 下载地址: https://dashboard.cpolar.com/get-started 下载后是个压缩包,解压后傻瓜式安装 操作隧道 安装后打开Cpolar Web UI 登录账号,查看隧…...
自动驾驶——最优控制算法(LQR)工程化总结
1. Summary 时隔一年,从写下第一篇博文自动驾驶-LQR工程实现(调研),到近段时间,真正在我们的控制器上运行最优控制算法(LQR),一步一个脚印,从开始只是知道其“控制理论”…...
【微服务】05-网关与BFF(Backend For Frontend)
文章目录 1.打造网关1.1 简介1.2 连接模式1.3 打造网关 2.身份认证与授权2.1 身份认证方案2.1.1 JWT是什么2.1.2 启用JwtBearer身份认证2.1.3 配置身份认证2.1.4 JWT注意事项 1.打造网关 1.1 简介 BFF(Backend For Frontend)负责认证授权,服务聚合,目标…...
保证MQ的高可用的几种方案
推荐阅读 AI文本 OCR识别最佳实践 AI Gamma一键生成PPT工具直达链接 玩转cloud Studio 在线编码神器 玩转 GPU AI绘画、AI讲话、翻译,GPU点亮AI想象空间 资源分享 史上最全文档AI绘画stablediffusion资料分享 AI绘画关于SD,MJ,GPT,SDXL百科全书 「java、python面试题」…...
MySql013——函数
一、数据处理函数 1.1、文本处理函数 函 数 说 明 Left() 返回串左边的字符Length() 返回串的长度Locate() 找出串的一个子串Lower() 将串转换为小写LTrim() 去掉串左边的空格Right() 返回串右边的字符RTrim() 去掉串右边的空格Soundex() 返回串…...
k8s-dashboard使用指导手册
一、访问 dashboard http://172.66.209.101:32001 二、选择 Namespace 如下图: 1 在①搜索框中输入 spms 2 在②选择 spms-cloud 三、查找 pod 1 打开 pod 列表 2 打开过滤窗口 3 搜索 pod 在打开的搜索框中输入 pod的关键字,支持模糊搜索 如搜索…...
Python爬虫快速入门指南
引言: 网络爬虫是一种自动化程序,可以在互联网上搜集和提取数据。Python作为一种功能强大且易学的编程语言,成为了许多爬虫开发者的首选。本文将为你提供一个关于Python爬虫的快速入门指南,包括基本概念、工具和实际案例。 第一…...
Java人脸识别技术探索与实践
人脸识别技术作为生物特征识别领域的一项重要应用,近年来在安全、便捷以及科研等方面取得了显著的进展。在Java编程领域,人脸识别也得到了广泛的关注和应用。本文将介绍Java中人脸识别技术的基本概念、常用库以及实际示例代码,带您深入了解这…...
SpringBoot-17-MyBatis动态SQL标签之常用标签
文章目录 1 代码1.1 实体User.java1.2 接口UserMapper.java1.3 映射UserMapper.xml1.3.1 标签if1.3.2 标签if和where1.3.3 标签choose和when和otherwise1.4 UserController.java2 常用动态SQL标签2.1 标签set2.1.1 UserMapper.java2.1.2 UserMapper.xml2.1.3 UserController.ja…...
Oracle查询表空间大小
1 查询数据库中所有的表空间以及表空间所占空间的大小 SELECTtablespace_name,sum( bytes ) / 1024 / 1024 FROMdba_data_files GROUP BYtablespace_name; 2 Oracle查询表空间大小及每个表所占空间的大小 SELECTtablespace_name,file_id,file_name,round( bytes / ( 1024 …...
基于服务器使用 apt 安装、配置 Nginx
🧾 一、查看可安装的 Nginx 版本 首先,你可以运行以下命令查看可用版本: apt-cache madison nginx-core输出示例: nginx-core | 1.18.0-6ubuntu14.6 | http://archive.ubuntu.com/ubuntu focal-updates/main amd64 Packages ng…...
反射获取方法和属性
Java反射获取方法 在Java中,反射(Reflection)是一种强大的机制,允许程序在运行时访问和操作类的内部属性和方法。通过反射,可以动态地创建对象、调用方法、改变属性值,这在很多Java框架中如Spring和Hiberna…...
成都鼎讯硬核科技!雷达目标与干扰模拟器,以卓越性能制胜电磁频谱战
在现代战争中,电磁频谱已成为继陆、海、空、天之后的 “第五维战场”,雷达作为电磁频谱领域的关键装备,其干扰与抗干扰能力的较量,直接影响着战争的胜负走向。由成都鼎讯科技匠心打造的雷达目标与干扰模拟器,凭借数字射…...
docker 部署发现spring.profiles.active 问题
报错: org.springframework.boot.context.config.InvalidConfigDataPropertyException: Property spring.profiles.active imported from location class path resource [application-test.yml] is invalid in a profile specific resource [origin: class path re…...
深度学习习题2
1.如果增加神经网络的宽度,精确度会增加到一个特定阈值后,便开始降低。造成这一现象的可能原因是什么? A、即使增加卷积核的数量,只有少部分的核会被用作预测 B、当卷积核数量增加时,神经网络的预测能力会降低 C、当卷…...
LRU 缓存机制详解与实现(Java版) + 力扣解决
📌 LRU 缓存机制详解与实现(Java版) 一、📖 问题背景 在日常开发中,我们经常会使用 缓存(Cache) 来提升性能。但由于内存有限,缓存不可能无限增长,于是需要策略决定&am…...
探索Selenium:自动化测试的神奇钥匙
目录 一、Selenium 是什么1.1 定义与概念1.2 发展历程1.3 功能概述 二、Selenium 工作原理剖析2.1 架构组成2.2 工作流程2.3 通信机制 三、Selenium 的优势3.1 跨浏览器与平台支持3.2 丰富的语言支持3.3 强大的社区支持 四、Selenium 的应用场景4.1 Web 应用自动化测试4.2 数据…...
CVPR2025重磅突破:AnomalyAny框架实现单样本生成逼真异常数据,破解视觉检测瓶颈!
本文介绍了一种名为AnomalyAny的创新框架,该方法利用Stable Diffusion的强大生成能力,仅需单个正常样本和文本描述,即可生成逼真且多样化的异常样本,有效解决了视觉异常检测中异常样本稀缺的难题,为工业质检、医疗影像…...
