使用一个整数数组保存每天的股票价格,如A={20034,20015,20064,20088,20078,20099,21090},表示200.34$,200.15$等,最大收益是21090-20015.
给出这样一个数组A,计算股市的最大收益,请考虑该数组中可能有几百兆数据。
我回家之后终于明白了最大收益的含义:第i天的MaxProfit等于第i天的价格减去MIN(0--i-1)。
下面是最开始的代码
int maxprofit(int A[], int n)
{
int minBefore;
int maxProfit;
int i;
assert(NULL != A);
if(0 == n || 1 == n) return 0;
maxProfit = 0;
minBefore = A[0];
for(i = 1; i < n; i++) {
if(maxProfit < (A[i] - minBefore)) {
maxProfit = A[i] - minBefore;
}
minBefore = (minBefore < A[i]) ? minBefore : A[i];
}
if(maxProfit > 0) return maxProfit;
return -1;
看过评论,想了下,还是没有完全理解最大受益,看下面这版
/*******************************************************************************
* \file minbefore.c
* \brief
* \date 10/09/2009 04:06:20 PM
* \author Magic(CHD-ZYP), magicpang@gmail.com
* \company SECRET
******************************************************************************/
#include <stdio.h>
#include <stdlib.h>
#include <assert.h>
int maxprofit(int A[], int len, int day)
{
int minBefore;
int i;
assert(NULL != A && day > 0 && len >= day);
if(1 == day) return 0;
minBefore = A[0];
for(i = 1; i < day - 1; i++) {
minBefore = (minBefore > A[i]) ? A[i] : minBefore;
}
return ((minBefore < A[day - 1]) ? (A[day - 1] - minBefore) : 0);
}
int main ( int argc, char *argv[] )
{
int a[] = {20034,20015,20064,20088,20078,20099,21090};
int i;
for(i = 0; i < sizeof(a) / sizeof(int); i++) {
printf("%d day maxprofit is %d\n", i + 1, maxprofit(a, sizeof(a) / sizeof(int), i + 1));
}
return EXIT_SUCCESS;
}
分享到:
相关推荐
最新的手机游戏——轩辕豪侠传-破解版.jar
"轩辕传奇"是一款深受玩家喜爱的网络游戏,而"易语言轩辕传奇脚本源码"则是使用易语言编写的,用于控制或扩展游戏功能的程序代码。 在易语言中,开发者可以通过简单的中文指令实现复杂的计算机操作。例如,"轩辕...
《轩辕剑外传 枫之舞》是由大宇资讯制作的角色扮演游戏,于1995年1月6日在台湾发行。这款游戏是轩辕剑系列的首部外传作品。游戏背景设定在战国时期,讲述了墨子弟子辅子彻发现鬼谷子弟子蜀桑子的阴谋后,踏上江湖的...
《轩辕剑online、轩辕剑4中PLY模型读取程序源码》 PLY(Polygon File Format)是一种用于存储3D模型的文件格式,由斯坦福大学开发,常用于3D建模和图形处理领域。该文件格式简洁且易于解析,包含了模型的顶点、面...
【作品名称】:基于大模型轩辕70-b的智能金融应用系统【毕业设计】 【适用人群】:适用于希望学习不同技术领域的小白或进阶学习者。可作为毕设项目、课程设计、大作业、工程实训或初期项目立项。 【项目介绍】:...
在《轩辕剑V3.31》中,玩家将扮演主角,与其他角色互动,解决谜题,与敌人战斗。游戏采用了回合制战斗系统,玩家可以根据角色的属性和技能策略性地进行战斗。此外,游戏还包含了丰富的物品系统、技能树和角色养成...
【标题】:“轩辕剑java代码”揭示了这个压缩包文件主要包含与“轩辕剑”相关的Java编程源代码。轩辕剑,作为一个历史悠久的中国神话传说中的宝剑,可能在此处指的是一个软件项目或游戏的名称,而这个项目或游戏的...
软件名称:通讯录管理软件 [轩辕版 V8.0] 支持系统:XP/Vista/Win7 软件初始用户名:www.cvcphp.com 软件初始密码:www.cvcphp.com 官方下载站:http://www.cvcphp.com/soft.html 邮箱:cvcphp@sina.con 软件...
北京大学软件与微电子学院2022级杨洋毕业论文项目,基于大模型轩辕70-b的智能金融应用系统_thesisProgram
【轩辕4路监控卡驱动】是一款专为四通道监控设备设计的硬件驱动程序,由轩辕品牌在2012年6月发布。该驱动程序的主要功能是为4路监控采集卡提供必要的支持,确保视频数据的稳定传输和高质量的图像显示。在监控系统中...
本设备是专为安防领域设计的一款数字监控产品,它采用了嵌入式处理器和嵌入式操作系统,结合了IT 领域各项最新技术,如视音频压缩/解压缩、大容量硬盘记录、TCP/IP 网络等技术,代码固化在FLASH 中,使得系统运行更...
附送视频学习资料:[看雪论坛独家免费共享]の轩辕IT培训 Linux C++ 远程全科班 Boost ACE[无KEY 完整版] 该视频是很好的网络框架学习资源,关于ACE框架的视频在Module6中,还有Boost相关的讲解。 下载地址:...
轩辕9500四路软件.zip是一个压缩包文件,包含了专为轩辕品牌的四路采集卡设计的Windows驱动程序和相关工具。这个采集卡是用于监控系统中的,它利用同轴电缆作为传输媒介来捕获和处理视频信号。同轴通信是一种传统而...
可以读取显示轩辕剑online、轩辕剑4、苍之涛里面的PLY模型。
轩辕剑一键安装即玩服务端游戏程序+充值后台
古力娜扎在《轩辕剑天之痕》中扮演女主角于小雪,小雪是十大上古神器之一女娲石转世。银发蓝眸,娇巧可爱,善良大方,温柔体贴。从小生活在月河村,15岁时遇上生命中最重要的人—陈靖仇,从此开始了改变自己命运的...
看到前人的评论,也遇到一样的问题,把修改好的版本放出来。 2014-09-02 wubicheng 没有源码,只能看不能用,并且好像对轩4兼容不是很好,读轩4的PLY模型会出现问题。 2014-05-24 rusalka8 特别好的工具,如果能有...
轩辕剑5完全說明手册 轩辕剑5完全說明手册
轩辕剑3外传天之痕完全手册