C++实现LeetCode(122.买股票的最佳时间之二)

 更新时间:2021年07月26日 15:19:31   作者:Grandyang  
这篇文章主要介绍了C++实现LeetCode(122.买股票的最佳时间之二),本篇文章通过简要的案例,讲解了该项技术的了解与使用,以下就是详细内容,需要的朋友可以参考下

[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 买卖股票的最佳时间很类似,但都比较容易解答。这道题由于可以无限次买入和卖出。我们都知道炒股想挣钱当然是低价买入高价抛出,那么这里我们只需要从第二天开始,如果当前价格比之前价格高,则把差值加入利润中,因为我们可以昨天买入,今日卖出,若明日价更高的话,还可以今日买入,明日再抛出。以此类推,遍历完整个数组后即可求得最大利润。代码如下:

C++ 解法:

class Solution {
public:
    int maxProfit(vector<int>& prices) {
        int res = 0, n = prices.size();
        for (int i = 0; i < n - 1; ++i) {
            if (prices[i] < prices[i + 1]) {
                res += prices[i + 1] - prices[i];
            }
        }
        return res;
    }
};

Java 解法:

public class Solution {
    public int maxProfit(int[] prices) {
        int res = 0;
        for (int i = 0; i < prices.length - 1; ++i) {
            if (prices[i] < prices[i + 1]) {
                res += prices[i + 1] - prices[i];
            }
        }
        return res;
    }
}

类似题目:

Best Time to Buy and Sell Stock with Cooldown

Best Time to Buy and Sell Stock IV

Best Time to Buy and Sell Stock III

Best Time to Buy and Sell Stock

到此这篇关于C++实现LeetCode(122.买股票的最佳时间之二)的文章就介绍到这了,更多相关C++实现买股票的最佳时间之二内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • C++输出斐波那契数列的两种实现方法

    C++输出斐波那契数列的两种实现方法

    以下是对C++中输出斐波那契数列的两种实现方法进行了详细的介绍,需要的朋友可以过来参考下,希望对大家有所帮助
    2013-10-10
  • C++ STL标准库std::vector扩容时进行深复制原因详解

    C++ STL标准库std::vector扩容时进行深复制原因详解

    我们知道,std::vector之所以可以动态扩容,同时还可以保持顺序存储,主要取决于其扩容复制的机制。当容量满时,会重新划分一片更大的内存区域,然后将所有的元素拷贝过去
    2022-08-08
  • C++ 解引用与函数基础详解之内存地址、调用方法及声明

    C++ 解引用与函数基础详解之内存地址、调用方法及声明

    函数是C++ 中重要的编程概念,它们可以提高代码的可重用性、可读性和可维护性,本文介绍C++ 解引用与函数基础详解之内存地址、调用方法及声明,感兴趣的朋友跟随小编一起看看吧
    2024-04-04
  • C语言函数栈帧的创建与销毁原理图解

    C语言函数栈帧的创建与销毁原理图解

    我们知道c语言中函数都是被调用的,main函数里面能调用其他函数,其实main函数也是被别的函数调用的,下面通过本文给大家分享c语言函数栈帧的创建和销毁过程,一起看看吧
    2022-05-05
  • C++ new/delete相关知识点详细解析

    C++ new/delete相关知识点详细解析

    C语言用一堆标准库函数malloc和free在自由存储区中分配存储空间,而C++则用new和delete表达式实现相同的功能
    2013-09-09
  • C++简单集合类的实现方法

    C++简单集合类的实现方法

    如何使用C++实现一个简单的集合类,这篇文章主要介绍了C++简单集合类的实现方法,感兴趣的小伙伴们可以参考一下
    2016-07-07
  • C++中不得不说的map容器

    C++中不得不说的map容器

    大家好,本篇文章主要讲的是C++中不得不说的map容器,感兴趣的同学赶快来看一看吧,对你有帮助的话记得收藏一下
    2022-02-02
  • 详解C++动态内存管理

    详解C++动态内存管理

    这篇文章主要为大家详细介绍了C++中动态内存管理相关资料,文中示例代码讲解详细,对我们学习C++具有一定帮助,感兴趣的小伙伴快跟随小编一起学习
    2023-05-05
  • C++中构造函数重载

    C++中构造函数重载

    这篇文章主要介绍了C++中构造函数重载的相关资料,十分的详细,需要的朋友可以参考下
    2015-06-06
  • C++中的vector容器对象学习笔记

    C++中的vector容器对象学习笔记

    这篇文章主要介绍了C++中的vector容器对象学习笔记,其中文章最后标红的resize与reserve方法的差别特别需要注意,需要的朋友可以参考下
    2016-05-05

最新评论