• <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久久婷婷国产一区二区| 色天使久久综合网天天| 久久精品蜜芽亚洲国产AV| 国产精品久久久久久久久鸭| 久久久久亚洲AV成人网人人网站| 久久99精品国产麻豆宅宅| 99久久国产免费福利| 国产精品中文久久久久久久| 久久亚洲国产成人精品无码区| 一97日本道伊人久久综合影院| yellow中文字幕久久网| 99久久99这里只有免费费精品| 久久久久亚洲AV无码专区桃色| 亚洲级αV无码毛片久久精品| 国产精品成人久久久| 成人久久综合网| 久久亚洲国产成人精品无码区| 99精品久久精品一区二区| 日日狠狠久久偷偷色综合免费| 精品精品国产自在久久高清 | 久久996热精品xxxx| 久久精品国产福利国产秒| 国产精品久久新婚兰兰| 狠狠人妻久久久久久综合蜜桃| 少妇久久久久久久久久| 欧美亚洲国产精品久久| 免费久久人人爽人人爽av| 久久97久久97精品免视看秋霞| 久久精品国产一区二区三区日韩| 久久99精品久久久大学生| 香蕉久久夜色精品国产2020| 久久久精品久久久久久| 色青青草原桃花久久综合| 精品无码久久久久久国产| 51久久夜色精品国产| 久久综合九色综合久99| 狠狠狠色丁香婷婷综合久久五月 | 手机看片久久高清国产日韩| 久久国产美女免费观看精品| 久久国产香蕉一区精品|