• <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)










            国产精品福利一区二区久久| 国产精品一区二区久久不卡 | 思思久久精品在热线热| 精品国产乱码久久久久久浪潮 | 亚洲国产精品无码久久久久久曰 | 思思久久精品在热线热| 2022年国产精品久久久久| 国内精品久久久久久久亚洲| 亚洲国产成人久久一区久久| 久久亚洲精品成人av无码网站| 国内精品久久人妻互换| 久久人搡人人玩人妻精品首页 | 大香伊人久久精品一区二区| 99re这里只有精品热久久| 亚洲日韩欧美一区久久久久我| 亚洲va久久久噜噜噜久久 | 国产A级毛片久久久精品毛片| 国产免费久久精品99re丫y| 久久国产精品国产自线拍免费| 久久人人青草97香蕉| 99久久人人爽亚洲精品美女| 久久久久国产精品熟女影院 | 久久久久久久久久久免费精品| 无码久久精品国产亚洲Av影片| 欧美精品福利视频一区二区三区久久久精品 | 久久夜色精品国产噜噜亚洲AV| 久久久久亚洲AV无码去区首| 久久99国产精品久久99| 无码人妻久久久一区二区三区 | 久久久亚洲欧洲日产国码是AV| 9999国产精品欧美久久久久久| 久久大香香蕉国产| 青青草原综合久久大伊人| 欧美麻豆久久久久久中文| 精品无码久久久久久国产| 日本福利片国产午夜久久| 久久亚洲国产午夜精品理论片| 精品无码久久久久国产| www.久久精品| 色综合合久久天天综合绕视看| 久久精品人人做人人爽电影|