122 Best Time to Buy and Sell Stock II 买卖股票的最佳时机 II
生活随笔
收集整理的這篇文章主要介紹了
122 Best Time to Buy and Sell Stock II 买卖股票的最佳时机 II
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
假設有一個數組,它的第 i 個元素是一個給定的股票在第 i 天的價格。
設計一個算法來找到最大的利潤。你可以完成盡可能多的交易(多次買賣股票)。然而,你不能同時參與多個交易(你必須在再次購買前出售股票)。
詳見:https://leetcode.com/problems/best-time-to-buy-and-sell-stock-ii/description/
Java實現:
方法一:
class Solution {public int maxProfit(int[] prices) {int n=prices.length;if(n==0||prices==null){return 0;}int profit=0;for(int i=1;i<n;++i){if(prices[i]>prices[i-1]){profit+=prices[i]-prices[i-1];}}return profit;} }方法二:
class Solution {public int maxProfit(int[] prices) {int n = prices.length;if(n <= 1){return 0;}int i = 0;int profit = 0;while(i < n - 1){int buy,sell;//尋找遞減區間的最后一個值(局部最小點)while(i+1 < n && prices[i+1] < prices[i]){++i;}//局部最小點作為買入點buy = i;//找下一個點(賣出點至少為下一個點)++i;//不滿足。。繼續往下找遞增區間的最后一個值(局部最高點)while(i<n && prices[i] >= prices[i-1]){++i;}//設置賣出點sell = i-1;//計算總和profit += prices[sell] - prices[buy];}return profit;} }參考:https://www.cnblogs.com/grandyang/p/4280803.html
轉載于:https://www.cnblogs.com/xidian2014/p/8722719.html
總結
以上是生活随笔為你收集整理的122 Best Time to Buy and Sell Stock II 买卖股票的最佳时机 II的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: [C#] - 从 HTML 代码中 转换
- 下一篇: 通用mapper笔记