当前位置: 首页 > news >正文

Leetcode 3652. Best Time to Buy and Sell Stock using Strategy

  • Leetcode 3652. Best Time to Buy and Sell Stock using Strategy
    • 1. 解题思路
    • 2. 代码实现
  • 题目链接:3652. Best Time to Buy and Sell Stock using Strategy

1. 解题思路

这一题思路上就是一个滑动窗口的思路,我们只需要提前计算出所有长度为k2\frac{k}{2}2k的连续窗口当中本来的收益以及如果全部切换为卖出时的收益,然后每一次变动之后事实上就是在原始的收益的基础上减去长度为kkk的原始收益,然后加上后半段上全部卖出的收益。

我们遍历所有的滑动窗口然后取最大值即可。

2. 代码实现

给出python代码实现如下:

class Solution:def maxProfit(self, prices: List[int], strategy: List[int], k: int) -> int:n = len(prices)m = k // 2s1, s2 = [0 for _ in range(n-m+1)], [0 for _ in range(n-m+1)]s1[0] = sum(x*y for x, y in zip(prices[:m], strategy[:m]))s2[0] = sum(prices[:m])for i in range(n-m):s1[i+1] = s1[i] - prices[i]*strategy[i] + prices[i+m]*strategy[i+m]s2[i+1] = s2[i] - prices[i] + prices[i+m]s = sum(x*y for x, y in zip(prices, strategy))ans = sfor i in range(n-2*m+1):ans = max(ans, s - s1[i] - s1[i+m] + s2[i+m])return ans

提交代码评测得到:耗时371ms,占用内存31.65MB。

http://www.lryc.cn/news/625362.html

相关文章:

  • 【Rust嵌入式键值对数据库redb】第一课 第一次写入
  • 极品飞车21:热度(NFS Heat)
  • React native Navigation 详解
  • 2020年EAAI SCI1区TOP,基于ORPFOA算法的多无人机在线变化任务路径规划,深度解析+性能实测
  • 跟踪不稳定目标:基于外观引导的运动建模实现无人机视频中的鲁棒多目标跟踪
  • 面试题储备-MQ篇 2-说说你对RocketMQ的理解
  • 智慧养老中IPTV融合对讲:重塑养老沟通新生态
  • 【Qt开发】常用控件(五)
  • 金融行业私域运营:企业微信+AI如何实现数智化经营?
  • LeetCode-17day:贪心算法
  • 云计算核心技术之云存储技术
  • C语言基础:(十九)数据在内存中的存储
  • MoonBit Perals Vol.06: Moonbit 与 LLVM 共舞 (上):编译前端实现
  • consul-基础概念
  • 一个多功能的文件分享工具--zdir手动部署教程
  • Tesollo DeltoGripper DG-5F具有抓握和操纵能力的灵巧手
  • Swift与C++混编深度解决方案:手动桥接 vs SwiftyCPP框架性能终极评测
  • 垂直领域大模型构建:法律行业“类ChatGPT”系统的训练与落地
  • 快手可灵招海外产品运营实习生
  • 亚矩阵云手机智能定位:助力Snapchat矩阵账号的本地化内容运营穿透技术
  • 【光学神经网络与人工智能应用专题】
  • 禾赛激光雷达AT128P/海康相机(2):基于欧几里德聚类的激光雷达障碍物检测
  • 【科研绘图系列】R语言绘制多种小提琴和云雨图
  • Kubernetes 简介
  • 初步学习WPF-Prism
  • 深入解析:Unity、Unreal Engine与Godot引擎中的Uniform变量管理
  • [ORACLE数据库] ORACLE 的 PL/SQL 块
  • 摄像头模块在运动相机中的应用
  • arcgis-提取范围中最大占比面积的信息或唯一值
  • 面试问题详解四:Qt 多线程与信号槽机制