Recca Chao 的 gitHub page

推廣網站開發,包含 Laravel 和 Kotlin 後端撰寫、自動化測試、讀書心得等。Taiwan Kotlin User Group 管理員。

View on GitHub

Kotlin Leetcode - 121. Best Time to Buy and Sell Stock

題目連接

class Solution {  
    fun maxProfit(prices: IntArray): Int {  
    }  
}

解題思路

這一題考的是陣列處理的邏輯

我們可以用 forEach 依次找出最低價格和最高獲利

Kotlin 參考解答

import kotlin.math.*  
  
class Solution {  
    fun maxProfit(prices: IntArray): Int {  
        if (prices.isEmpty()) return 0  
  
        var maxProfit = 0  
        var lowestPrice = prices[0]  
  
        prices.forEach { currentPrice ->  
            lowestPrice = min(lowestPrice, currentPrice).toInt()  
            maxProfit = max(currentPrice - lowestPrice, maxProfit)  
        }  
  
        return maxProfit  
    }  
}