程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> 關於C++ >> leetcode筆記:Best Time to Buy and Sell Stock II

leetcode筆記:Best Time to Buy and Sell Stock II

編輯:關於C++

一. 題目描述

Say you have an array for which the i-th 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).

二. 題目分析

該題是買賣股票的第二題。題目給出的基本信息沒什麼變化,與第一題不同的是的,允許進行任意次數的買賣,但必須保證買賣一次後才能進行第二次操作。繼續分析會發現,這實際上是求股價數組所有上升段的和。

三. 示例代碼

#include 
#include 
using namespace std;

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

四. 小結

與該題相關的題目還有好幾道。後續更新…

 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved