From 65363329f02cefb67909e781c326bffc7fe5b1eb Mon Sep 17 00:00:00 2001 From: X-shuffle <53906918+X-shuffle@users.noreply.github.com> Date: Fri, 23 Jul 2021 14:00:03 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=200122.=E4=B9=B0=E5=8D=96?= =?UTF-8?q?=E8=82=A1=E7=A5=A8=E7=9A=84=E6=9C=80=E4=BD=B3=E6=97=B6=E6=9C=BA?= =?UTF-8?q?II=20go=E7=89=88=E6=9C=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 增加 0122.买卖股票的最佳时机II go版本 --- .../0122.买卖股票的最佳时机II.md | 33 +++++++++++++++++++ 1 file changed, 33 insertions(+) diff --git a/problems/0122.买卖股票的最佳时机II.md b/problems/0122.买卖股票的最佳时机II.md index 4b878aa0..60d4591f 100644 --- a/problems/0122.买卖股票的最佳时机II.md +++ b/problems/0122.买卖股票的最佳时机II.md @@ -188,7 +188,40 @@ class Solution: ``` Go: +```golang +//贪心算法 +func maxProfit(prices []int) int { + var sum int + for i := 1; i < len(prices); i++ { + // 累加每次大于0的交易 + if prices[i]-prices[i-1] > 0 { + sum += prices[i]-prices[i-1] + } + } + return sum +} +``` +```golang +//确定售卖点 +func maxProfit(prices []int) int { + var result,buy int + prices=append(prices,0)//在price末尾加个0,防止price一直递增 + /** + 思路:检查后一个元素是否大于当前元素,如果小于,则表明这是一个售卖点,当前元素的值减去购买时候的值 + 如果不小于,说明后面有更好的售卖点, + **/ + for i:=0;iprices[i+1]{ + result+=prices[i]-prices[buy] + buy=i+1 + }else if prices[buy]>prices[i]{//更改最低购买点 + buy=i + } + } + return result +} +``` Javascript: ```Javascript