买卖股票的最佳时机
给定一个数组,它的第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。
*规定输出格式。
这是自己的解决方法!!!