(每日一练65919)题目名称:最优利润值

文盲老顾
新星创作者: 信息安全技术领域
领域专家: 数据库技术领域
2023-05-27 08:23:26

你在读的经营课程上,老师布置了一道作业。在一家公司的日常运营中,是会对一些商品的价格走势根据一些经验和数据进行预估,并据此进行决策。例如,假设某商品每天的价格都有可能变动,我们要做的就是低买高卖获得最高利润。比如假设我们预估该商品接下来七天内的价格走势如下: 4 1 2 3 6 4 8 那我们采取的最佳策略是在价格1块钱的时候买入,在价格8块钱的时候卖出。为了简化整个过程,我们限定在此周期内只能有一次买入一次卖出,且商品在没有购入前是无法卖出的,即该商品不是期货而是现货。 现要求你用程序来实现自动决策。输入一定天数的商品预估价格,自动计算出最优利润值。例如,上面的例子中,最优利润值为8-1=7。(简单起见,只考虑0-100000之间的整数价格)

这一类题目,就看有没有本金,有本金,就有乘除法,没本金,就是简单的求差罢了。

arr = list(map(int,input().split()))
print(max([max(arr[i + 1:]) - v for i,v in enumerate(arr) if i < len(arr) - 1]))
...全文
339 5 打赏 收藏 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
CSDN-Ada助手 2023-06-03
精选
  • 打赏
  • 举报
回复
您的问题已经帮您同步至问答, 链接: https://ask.csdn.net/questions/7957256, 请您保持关注, 如果回答有帮助解决此问题, 麻烦您动动小手给相关的回答点赞, Ada会在评论区为您更新结题状态
文盲老顾 2023-05-30
  • 打赏
  • 举报
回复

限定周期内只能买卖各一次,且未买入时不能卖出,所以简单来说,就是找字数组最大差

arr = readline().split(' ').map(x => parseInt(x))
print(Array.from(arr).map((x,y) => arr.filter((s,t) => t > y).sort((x,y) => x > y ? -1 : 1)[0] - x).sort((x,y) => x > y ? -1 : 1)[0])
yyfhz 2023-05-29
  • 打赏
  • 举报
回复

请问LZ,卖出允许的时间段,是基于固定的周期呢还是从买入开始的活动周期?
是否允许多次买入多次卖出?
是否允许在已经持仓的情况下进行补仓?

文盲老顾 2023-05-29
  • 举报
回复
@yyfhz &gt;为了简化整个过程,我们限定在此周期内只能有一次买入一次卖出,且商品在没有购入前是无法卖出的,即该商品不是期货而是现货。 这是题目描述内容。
于扶摇 2023-05-28
  • 打赏
  • 举报
回复

具体来说,我们可以定义一个数组 dp,其中 dp[i] 表示在第 i 天买入并卖出的最大利润。对于每一天 i,我们可以考虑两种情况:

如果第 i 天的价格为 0,则不能买入,因此 dp[i] 应该等于 dp[i-1](即昨天已经买入并卖出的最大利润)。
如果第 i 天的价格不为 0,则可以买入并在任意一天卖出,因此我们需要对所有可能的买入和卖出日期计算最大利润。具体来说,我们可以枚举买入日期 j 和卖出日期 k(其中 j <= k 且 j <= i),并计算出在买入价格为第 j 天的价格、卖出价格为第 k 天的价格下的最大利润。
最终,最优利润值即为 dp[n],其中 n 为预测的最后一天。

源码直接下载地址: https://pan.quark.cn/s/854bd57df23a 在金融行业中,房产购置贷款是众多人在购置不动产时必须进行的一项财务规划。Matlab作为一种功能强大的数学及数据分析平台,经常被应用于各类复杂的运算,其中包括住房贷款的计算。本文将详细研究运用Matlab开发住房贷款计算程序的相关知识要点,以协助读者掌握如何借助编程技术处理实际的信贷问题。 1. **信贷种类** - **商业信贷**:此类贷款通常由金融机构提供,其利率会随市场行情变化,借款人可选用固定利率或浮动利率方案。 - **公积金信贷**:该类贷款获得政府机构的支持,利率一般低于商业信贷,但设有最高贷款金额的限制。 2. **偿付模式** - **等额本金偿付**:每月支付相同数量的本金,利息部分逐月减少,因此整体还款总额会逐步降低。 - **等额本息偿付**:每月支付固定金额的本金与利息组合,利息部分随本金的逐月减少而递减。 3. **住房贷款计算公式** - **等额本息偿付**:每月还款额=贷款本金×[月利率×(1+月利率)^(贷款期数)]÷[(1+月利率)^(贷款期数)-1]。 - **等额本金偿付**:每月应还本金=贷款总额/贷款期数,每月利息=(贷款余额-累计已还本金)×月利率。 4. **Matlab编程基础** - **变量设定**:在Matlab环境中,首要任务是设定贷款数额、年化利率、贷款时长等核心参数。 - **循环控制结构**:借助for循环来模拟每个还款周期的过程,进行本金与利息的计算。 - **函数构建**:将住房贷款的计算逻辑封装为函数,便于重复使用和测试不同条件下的结果。 5. **Matlab代码编写** - **等额本息函数实现**...

320

社区成员

发帖
与我相关
我的任务
社区描述
主要用于技术交流,包括但不限于 .net,mssql,js,css,python,算法,运维。也可以晒最新技术,美图,运动等。最后,如果有问题,可以提问,老顾能帮忙的会尽量帮忙哦。
前端sqlserverasp.net 技术论坛(原bbs) 北京·西城区
社区管理员
  • 文盲老顾
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧