zoukankan      html  css  js  c++  java
  • 343. Integer Break(dp)

    Given a positive integer n, break it into the sum of at least two positive integers and maximize the product of those integers. Return the maximum product you can get.

    Example 1:

    Input: 2
    Output: 1
    Explanation: 2 = 1 + 1, 1 × 1 = 1.
    

    Example 2:

    Input: 10
    Output: 36
    Explanation: 10 = 3 + 3 + 4, 3 × 3 × 4 = 36.
    

    Note: You may assume that n is not less than 2 and not larger than 58.

    Accepted
    68,865
    Submissions
    146,836

    class Solution:
        def integerBreak(self, n):
            """
            :type n: int
            :rtype: int
            """
            if n==2:
                return 1
            if n==3:
                return 2
            if n==4:
                return 4
            dp = [2,3,4]
            for i in range(5,n+1):
                # print(i)
                dp.append(max(dp[-1],dp[-2]*2,dp[-3]*3))
            # print(dp)
            return dp[-1]
    
  • 相关阅读:
    vue-cli的npm run build的常见问题
    es6 Symbol
    es6 对象的扩展
    es7 函数绑定
    es6 箭头函数
    学习weex遇见非常奇怪的问题
    微信
    java面试题
    PHP面试题
    Android
  • 原文地址:https://www.cnblogs.com/bernieloveslife/p/10057932.html
Copyright © 2011-2022 走看看