1.题目

亚马逊是一家纳斯达克上市的公司,通过其财务报表我们可以解读它在给定时期内的股票走势信息。这些信息包括每天交易的最高价,最低价以及开盘价。假定你作为交易员,必须在股票开盘的时候做出买入或者卖出的决定。你负责设计一个算法,根据给定的股票价格走势信息,决定买入和卖出策略,该策略保证的交易获得最大的利润

2.代码(Python)

S = [2,4,1,7,9,3,5,8]
# 买的天数
buyDay = 0
# 卖的天数
salDay = 0
# 收益最大值
Profit = 0
# 买入的最小价格
minPrice = S[0]for N in range(len(S)):# (0——n-1)之间寻找买入的天数if S[N] < minPrice:buyDay = NminPrice = S[N]# 获取利益最大值的卖出天数if S[N] - minPrice > Profit:Profit = S[N]-minPricesalDay = Nprint("在第{}天买入,在第{}天卖出,能够获得最大收益:{}".format(buyDay+1,salDay+1,Profit))

3.复杂度

时间复杂度:只需要把数值遍历一遍,因此时间复杂度为O(n);
空间复杂度:空间上只需要存储开盘价格数组,不需要额外分配存储空间,因此空间复杂度都是O(n)。

数据结构与算法--10.利益最大值相关推荐

  1. 数据结构与算法 10.30

    数据结构与算法 10.30 Lake Counting Description Due to recent rains, water has pooled in various places in F ...

  2. 【数据结构与算法 10】算法的时间复杂度和空间复杂度

    最近在研究数据结构与算法,在B站中找到了小甲鱼的<数据结构与算法课程>,挺有意思的! 尚硅谷Java数据结构与java算法,韩顺平数据结构与算法 对于一个算法来说,分析有两步,第一是从数学 ...

  3. 数据结构与算法10:图与图搜索

    文章目录 图的概念与定义 图的表示与存储 图的表示 邻接矩阵 邻接表 图的应用 拓扑排序 最短路径 单源最短路径 Dijkstra 两点之间最短路径 Floyd 最小生成树 Kruskal Prim ...

  4. 【数据结构与算法 10,2021大厂Java开发面试总结+解答

    对于一个算法来说,分析有两步,第一是从数学上证明算法的正确性,第二步是分析算法的时间复杂度. 算法的时间复杂度反映了程序执行时间随输入规模增长而增长的量级,在很大程度上能反映出算法的优劣与否. 度量一 ...

  5. python数据结构与算法第10讲_Python数据结构与算法10:基本结构:练习题1

    注:本文如涉及到代码,均经过Python 3.7实际运行检验,保证其严谨性. 本文阅读时间约为4分钟. 栈的编程练习题1:有效的括号 给定一个只包括 '(',')','{','}','[',']' 的 ...

  6. 极客时间 自我提升第二天 数据结构与算法之美 应该掌握 / 趣谈网络原理 / 深入浅出计算机组成原理 思维导图

    菜鸟今天又来完成所说的诺言,也希望大家督促,在今天的学习中,菜鸟有了新的认知,我会将上一篇中理解不完善的一些地方进行补充,学习本就是不断打破自己的认知,如果思考都不做,何来的知识的积累 文章目录 数据 ...

  7. 数据结构与算法--经典10大排序算法(动图演示)【建议收藏】

    十大经典排序算法总结(动图演示) 算法分类 十大常见排序算法可分为两大类: 比较排序算法:通过比较来决定元素的位置,由于时间复杂度不能突破O(nlogn),因此也称为非线性时间比较类排序 非比较类型排 ...

  8. 数据结构和算法练习网站_视频和练习介绍了10种常见数据结构

    数据结构和算法练习网站 "Bad programmers worry about the code. Good programmers worry about data structures ...

  9. 年后跳槽BAT必看:10种数据结构、算法和编程课助你面试通关

    作者 | javinpaul 译者 | 大鱼 编辑 | 一一 出品 | AI 科技大本营 进入 BAT 这样的巨头企业工作,无疑是很多程序员的梦想.但事实上,能通过这些公司高难度编程面试的只是一小撮人 ...

最新文章

  1. “抗疫”新战术:世卫组织联合IBM、甲骨文、微软构建了一个开放数据的区块链项目!...
  2. 换主板 oracle 蓝屏,图文说明win7系统更换主板后开机蓝屏的办法
  3. oracle当前用户创建的表不可见?
  4. asp.net mvc 简单文件下载
  5. 【路径规划】基于遗传算法求解同时取送货车辆路径问题matlab代码
  6. 掌握这60个Excel小技巧
  7. python 类继承
  8. 51单片机课设--篮球计分器
  9. 对伪元素::after和::before的理解
  10. 智商测试图片素材软件,智商测试图片 测试你智商的图片[100P]
  11. 计算机中mac ip地址查询,mac苹果电脑怎么查看本机IP与MAC地址
  12. python函数装饰器一篇入魂
  13. Manjaro蓝牙连接问题
  14. java如何在窗口上显示数据_如何把Java程序窗口在屏幕中间显示
  15. 自助取款机系统(python+mysql+GUI)
  16. 直流电源线缆 高速电缆 分类
  17. Thinkphp 表名下滑杠处理
  18. Coursera | Introduction to Data Analytics(IBM) | Quiz答案
  19. Android-x86 项目简介
  20. SecPod:基于虚拟化的安全系统框架

热门文章

  1. 英语口语-文章朗读Week9 Wednesday
  2. Java集合Stream类
  3. 为什么有些语言会比别的快?
  4. 如何创造出更优秀的用户体验?
  5. CentOS 6.9下的Setup工具(用于管理服务/防火墙/网络配置/验证服务)
  6. Android深入浅出之Binder机制(转)
  7. 多线程条件变量(pthread_cond_wait)用法
  8. Jenkins自动编译库并上传服务器
  9. 玩转数据结构——均摊复杂度和防止复杂度的震荡(笔记)
  10. 时时流量查看工具-ifsta,nload,iftop