买卖股票的最佳时机

买卖股票的最佳时机

给定一个数组,它的第i个元素是一支给定股票第i天的价格。
如果你最多只允许完成一笔交易(即买入和卖出一支股票),设计一个算法来计算你所能获取的最大利润。
注意:不能在买入股票前卖出股票。

示例1:

输入:[7,1,5,3,6,4]
输出:5
解释:在第2天(股票价格=1)的时候买入,在第5天(股票价格=6)的时候卖出,最大利润=6-1=5。

示例2:

输入:[7,6,4,3,1]
输出:0
在这里插入图片描述

本题对于字符’]’,’[‘和’,‘及整字之间的处理要求较高,开始时我试着用字符数组写,确实也比较方便判断,但是字符数组的设置伴随着一个很大的漏洞。字符会自行规定数字的位数,一旦超过两位那就变成了字符串。这处理起来就相当麻烦,局限性也比较大。
出于考虑,我对其进行了改善。
使用整型数组a存放数字,将字符放入单个字符c中。这样就清晰起来了,比较容易对数据进行使用。
*每次输入一个数字和一个字符,将数字逐一存入数组a,而字符用来判断是否继续输入数据。
当遇到’]'时,停止输入,以上规定了输入格式。
*每一个数与它后面的数进行比较,如果这个数小于后面的数,将其差值保存在数组b中。
**细节:如果m==0,则说明数组b中没有数字,即没有利润。则输出0,表示利润为0。
*在数组b中找最大值,将最大值赋给max。
*规定输出格式。
这是自己的解决方法!!!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值