[LeetCode] 122. Best Time to Buy and Sell Stock II

【原题】 Say you have an array for which the ith element is the price of a given stock on day i.

Design an algorithm to find the maximum profit. You may complete as many transactions as you like (ie, buy one and sell one share of the stock multiple times). However, you may not engage in multiple transactions at the same time (ie, you must sell the stock before you buy again). 【解释】 此为Best Time to Buy and Sell Stock的follow up,这里可以多次买入卖出,但是一次不能持有多支股票,求最多可以赚多少钱。 【思路】 数组中后面的元素的值和前面的值的差若大于0,则加上这个差,直至循环结束。求得的值即为目标值。

可能这里有人会疑问,每次不能持有多支股票,那么遇到递增的情况是否会不合题意。举个栗子:1, 3, 5。我们可以得到的最大价值为4,按照上面的算法刚开始得到2+2,同样也可以得到正确的结果。对于递增序列的话,上面的算法就相当于用递增子序列的最大值减去最小值。

public class Solution {
    public int maxProfit(int[] prices) {
        int max=0;
        for(int i=1;i<prices.length;i++)
                if(prices[i]-prices[i-1]>0)
                    max+=prices[i]-prices[i-1];
        //System.out.println(max);
        return max;
    }
}

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏潇涧技术专栏

Google APAC 2015 University Graduates Test Round D

Google APAC 2015 University Graduates Test Round D

874
来自专栏用户2442861的专栏

2014腾讯软件开发类笔试题(广州站)

试卷类型:软件开发A1 考试时长:120分钟 一 不定项选择题(共25题,每题4分,共100分,少选、错选、多选均不得分) 1 已知一棵二叉树,如果先序...

953
来自专栏数据结构与算法

2806 红与黑 个人博客:doubleq.win

个人博客:doubleq.win 2806 红与黑  时间限制: 1 s  空间限制: 64000 KB  题目等级 : 白银 Silver 题解  查看运行结...

2744
来自专栏申龙斌的程序人生

零基础学编程028:面向对象编程OOP

在《零基础学编程021:获取股票实时行情数据》一节中,我们想获取6支股票的行情数据,在《零基础学编程022:函数的世界》里我们能够把重复性的代码封装为一个函数p...

2886
来自专栏C语言及其他语言

[每日一题]C语言程序设计教程(第三版)课后习题6.9

题目描述 一球从M米高度自由下落,每次落地后返回原高度的一半,再落下。 它在第N次落地时反弹多高?共经过多少米? 保留两位小数 输入 M N 输出 它在第N次落...

2717
来自专栏coding for love

JS进阶系列03-JS面向对象的三大特征之多态

多态是同一个行为具有多个不同表现形式或形态的能力。在JAVA中,多态通过在子类中重写父类方法去实现。但是在JS中,由于JS本身是动态的,天生就支持多态。大家可以...

802
来自专栏专知

关关的刷题日记04——Leetcode 283. Move Zeroes

题目 283. Move Zeroes Given an array nums, write a function to move all 0’s to the...

35810
来自专栏C语言及其他语言

【每日一题】问题 1171: 蟠桃记

关注我们 题目描述 喜欢西游记的同学肯定都知道悟空偷吃蟠桃的故事,你们一定都觉得这猴子太闹腾了,其实你们是有所不知:悟空是在研究一个数学问题! 什么问题...

2546
来自专栏数据结构与算法

tarjan系列算法代码小结

个人使用,可能不是很详细 强联通分量 这里的dfn可以写成low 因为都是在栈中,只要保证该节点的low值不为本身即可 void tarjan(int now)...

3417
来自专栏Crossin的编程教室

【Python 第50课】 面向对象(4)

上一课举了一个面向对象和面向过程相比较的例子之后,有些同学表示,仍然没太看出面向对象的优势。没关系,那是因为我们现在接触的程序还不够复杂,等以后你写的程序越来越...

2756

扫码关注云+社区