• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            Uriel's Corner

            Research Associate @ Harvard University / Research Interests: Computer Vision, Biomedical Image Analysis, Machine Learning
            posts - 0, comments - 50, trackbacks - 0, articles - 594
            121. Best Time to Buy and Sell Stock (Easy)
            給一列股票價格,問買賣不超過1次的情況下最多賺多少
            122. Best Time to Buy and Sell Stock III (Medium)
            給一列股票價格,問無限次買賣的情況下最多賺多少(但手里同一時刻只能持有一份股票)
            123. Best Time to Buy and Sell Stock III (Hard)
            給一列股票價格,問買賣不超過2次的情況下最多賺多少
            188. Best Time to Buy and Sell Stock IV (Hard)
            給一列股票價格,問買賣不超過k次的情況下最多賺多少
            121, 123和188類似,都是DP思想,remain[j]:已經買入j次之后最多手頭剩下的錢,profit[j]:已經賣出j次之后最多賺了多少,注意賣出前必須要先買入,188注意特判len(prices)=1的情況
            122貪心,預處理i和i+1天之間的價差,有的賺就都加上

             1 #121
             2 #Runtime: 869 ms
             3 #Memory Usage: 22.5 MB
             4 
             5 class Solution(object):
             6     def maxProfit(self, prices):
             7         """
             8         :type prices: List[int]
             9         :rtype: int
            10         """
            11         remain = 0
            12         profit = 0
            13         remain = prices[0]
            14         for i in range(1, len(prices)):               
            15             remain = min(remain, prices[i])
            16             profit = max(profit, prices[i] - remain)
            17         return profit


             1 #122
             2 #Runtime: 48 ms
             3 #Memory Usage: 14.8 MB
             4 
             5 class Solution(object):
             6     def maxProfit(self, prices):
             7         """
             8         :type prices: List[int]
             9         :rtype: int
            10         """
            11         profit = []
            12         for i in range(len(prices) - 1):
            13             profit.append(prices[i + 1] - prices[i])
            14         ans = 0
            15         for i in profit:
            16             if i > 0:
            17                 ans += i
            18         return ans
            19                 


             1 #123
             2 #Runtime: 1075 ms
             3 #Memory Usage: 25 MB
             4 
             5 class Solution(object):
             6     def maxProfit(self, prices):
             7         """
             8         :type prices: List[int]
             9         :rtype: int
            10         """
            11         remain = [0, -sys.maxint, -sys.maxint]
            12         profit = [0, -sys.maxint, -sys.maxint]
            13         
            14         for i in range(0, len(prices)):
            15             for j in range(1, 3):
            16                 remain[j] = max(remain[j], profit[j - 1] - prices[i])
            17                 profit[j] = max(profit[j], remain[j] + prices[i])
            18         return max(profit)


             1 #188
             2 #Runtime: 250 ms
             3 #Memory Usage: 13.3 MB
             4 
             5 class Solution(object):
             6     def maxProfit(self, k, prices):
             7         """
             8         :type k: int
             9         :type prices: List[int]
            10         :rtype: int
            11         """
            12         remain = [-sys.maxint] * (len(prices) + 1)
            13         profit = [-sys.maxint] * (len(prices) + 1)
            14         remain[0] = 0
            15         profit[0] = 0
            16         for i in range(0, len(prices)):
            17             for j in range(1, min(len(prices) + 1, k + 1)):
            18                 remain[j] = max(remain[j], profit[j - 1] - prices[i])
            19                 profit[j] = max(profit[j], remain[j] + prices[i])
            20         return max(profit)










            狠狠人妻久久久久久综合蜜桃| 久久婷婷综合中文字幕| 精品久久久久久国产免费了| 久久99国产亚洲高清观看首页| 69久久夜色精品国产69| 99久久精品久久久久久清纯| 99久久国产热无码精品免费久久久久| 狠狠色噜噜狠狠狠狠狠色综合久久| 999久久久免费精品国产| 久久精品国产免费一区| 久久久WWW免费人成精品| 亚洲中文字幕伊人久久无码| 国产欧美久久一区二区| 久久久久久久久久久精品尤物| 久久精品国产亚洲网站| 久久人人爽人人爽人人片AV不 | 久久久久四虎国产精品| 欧美一级久久久久久久大| 亚洲国产精品久久| 狠狠色丁香久久婷婷综合五月| 久久天天躁夜夜躁狠狠躁2022| 久久久久久久国产免费看| 四虎国产精品免费久久久| 久久精品国产99久久无毒不卡| 久久国产AVJUST麻豆| 青青青青久久精品国产h久久精品五福影院1421| 性欧美丰满熟妇XXXX性久久久| 欧美日韩成人精品久久久免费看| 国产99久久久国产精免费| 99久久精品毛片免费播放| 久久99精品久久久久久动态图| 久久水蜜桃亚洲av无码精品麻豆 | 999久久久国产精品| 久久精品人人做人人爽电影| 国产精品视频久久| 国产精品福利一区二区久久| 久久香蕉国产线看观看乱码| 日韩精品久久久久久| 狠狠色丁香婷婷综合久久来来去 | 久久精品嫩草影院| 久久精品国产99久久久香蕉|