内容简介:题目描述
2019-3-7 星期四 开始吧
刚才在群里和skys大佬聊天,大佬说断更的体验不好。是的,断更的体验确实不好,相对于我来说,可能突然断了两天三天自己的惰性都出来了,周日的话我一般喜欢看点别的书,或者约上几个老友一起打球,所以想了一下,可能我以后会在周一到周五的时候多刷几道,然后先更新在公众号,周末的时候我相当于再温习一遍了,两全其美。那么开始吧。
今天的标题还是最佳买入和卖出的时间.上一版 Leetcode基础刷题之(121. Best Time to Buy and Sell Stock)
题目描述
给定一个数组,其中第i个的数值是第i天给定的股票的价格.计算出它最大的利润空间(卖出的钱减去买入的钱就是你的利润空间),和昨天不同的是,昨天只能买入一次,然后卖出,今天的题目可以多次交易(可以多次买入卖出一只股票).但是你不能同时进行多笔交易,也就是说,你再购买前,得先确保已经卖掉了之前买入的.
题目思路
我的思路就是循环整个数组,从第一个数开始比较,只要后一个数大于前一个数,说明此时就是有利润空间的,按照这样的流程走,只要有利润空间我就卖出,最后把所有的利润空间值和在一起,就是所能获取的最大利润.
实现代码
/** * @param Integer[] $prices * @return Integer */ function maxProfit($prices) { $max=0; for($i=0;$i<count($prices);$i++) { if($prices[$i]<$prices[$i+1]) { $max+=$prices[$i+1]-$prices[$i]; } } return $max; }
运行结果
时间复杂度分析
这里有一个for循环,循环的次数取决于数组的个数,时间复杂度就是O(n),存储的是个恒定的空间,所以空间复杂度是O(1)。
以上所述就是小编给大家介绍的《Leetcode之PHP版题目解析(122. Best Time to Buy and Sell Stock II)》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!
猜你喜欢:- OtterCTF 13道内存取证题目详细解析(上)
- Leetcode之PHP版题目解析(136. Single Number)
- Java 基础系列 22:有关链表的经典面试题目解析与代码实现
- 从一道线下赛题目看VM类Pwn题目-debugvm
- Leetcode 题目:括号匹配
- HCTF逆向题目详析
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
iOS应用逆向工程 第2版
沙梓社、吴航 / 机械工业出版社 / 2015-4-1 / 79.00
你是否曾因应用上线的第一天即遭破解而无奈苦恼,想要加以防范,却又束手无策? 你是否曾为某一应用深深折服,想要借鉴学习,却又无从下手? 你是否已不满足于public API,想要进军Cydia开发,却又求学无门? 你是否已产生“不识Apple真面目,只缘身在App Store中”的危机感,想要通过阅读来一窥这冰山一角外的整个北极,却又找不到合适的书? 你是否已经因无法跨越开发......一起来看看 《iOS应用逆向工程 第2版》 这本书的介绍吧!