假设你有一个数组,其中第 个元素表示某只股票在第 天的价格。 设计一个算法来寻找最大的利润。你可以完成任意数量的交易(例如,多次购买和出售股票的一股)。但是,你不能同时进行多个交易(即,你必须在再次购买之前卖出之前买的股票)。
示例1
输入
[1,4,2]
输出
3
说明
第一天买入,第二天卖出,收益为4-1=3。
示例2
输入
[1,2,1,4]
输出
4
说明
第一天买入,第二天卖出,第三天买入,第四天卖出,收益为(2-1)+(4-1)=4。
加载中...
import java.util.*; public class Solution { /** * * @param prices int整型一维数组 * @return int整型 */ public int maxProfit (int[] prices) { // write code here } }
class Solution { public: /** * * @param prices int整型vector * @return int整型 */ int maxProfit(vector
& prices) { // write code here } };
# # # @param prices int整型一维数组 # @return int整型 # class Solution: def maxProfit(self , prices ): # write code here
/** * * @param prices int整型一维数组 * @return int整型 */ function maxProfit( prices ) { // write code here } module.exports = { maxProfit : maxProfit };
# # # @param prices int整型一维数组 # @return int整型 # class Solution: def maxProfit(self , prices ): # write code here
package main /** * * @param prices int整型一维数组 * @return int整型 */ func maxProfit( prices []int ) int { // write code here }
[1,4,2]
3
[1,2,1,4]
4