华为OD机试 -最大利润(C++ Java JavaScript Python )

本文介绍了华为OD机考中的一道题目,涉及到如何在给定的天数内,根据商品价格波动计算最大利润。解题策略是使用贪心算法,寻找价格上升区段进行买入和卖出操作。文章提供了C++、JavaScript、Java和Python四种语言的代码实现。
摘要由CSDN通过智能技术生成

题目描述

商人经营一家店铺,有number种商品,
由于仓库限制每件商品的最大持有数量是item[index]
每种商品的价格是item-price[item_index][day]
通过对商品的买进和卖出获取利润
请给出商人在days天内能获取的最大的利润
注:同一件商品可以反复买进和卖出

输入描述

第一行输入商品的数量number,比如3
第二行输入商品售货天数 days,比如3
第三行输入仓库限制每件商品的最大持有数量是item[index],比如4 5 6

后面继续输入number行days列,含义如下:
第一件商品每天的价格,比如1 2 3
第二件商品每天的价格,比如4 3 2
第三件商品每天的价格,比如1 5 3

输出描述

输出商人在这段时间内的最大利润。

用例

输入 3
3
4 5 6
1 2 3
4 3 2
1 5 2
输出 32
说明

题目解析

我们只要找到商品价格走势的上升区段,然后低价买入,高价卖出即可求得最大利润。

和lettcode上的这题差不多!

122. 买卖股票的最佳时机 II - 力扣(LeetCode)

使用贪心算法来计算每天售卖商品能够获得的最大利润。以下是解题思路的详细步骤:

  1. 首先,处理输入数据。我们需要读取商品数量(itemNumber)、售货天数(days)、每件商品的最大持有数量(maxItems)以及每天每件商品的价格列表(prices)。

  2. 初始化一个整

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

算法大师

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值