package main func maxProfitOld(prices []int) int { last, cost, profit := -1<<31, 1<<31-1, 0 for _, v := range prices { if v < last { if last > cost { // sell stock profit += last - cost // buy stock cost = v } } if v < cost { // buy cheaper stock cost = v } // store price of yestoday last = v } // sell stock at last day if last > cost { profit += last - cost } return profit } // split into small pieces! // func maxProfit(prices []int) int { // profit := 0 // for i := 1; i < len(prices); i++ { // if prices[i] > prices[i-1] { // profit += prices[i] - prices[i-1] // } // } // return profit // } // func main() { // a1 := []int{1, 2, 3, 46, 1, 4, 1, 4, 5} // a2 := []int{2, 1} // fmt.Println(maxProfit(a1)) // fmt.Println(maxProfit(a2)) // }