zoukankan      html  css  js  c++  java
  • 动态规划_leetcode343

    #coding=utf-8

    # 递归
    class Solution1(object):
    def integerBreak(self, n):
    """
    :type n: int
    :rtype: int
    """

    self.memo = [-1 for i in range(n+1)]

    # 将n进行分割(至少分割两部分),可以获得的最大乘积
    def breakInterger(self,n):

    if n == 1:
    return 1

    res = -1

    # i + (n-i)
    for i in range(1,n):
    res = max(res, i* (n-i),self.breakInterger(i))
    return res

    # 记忆化递归
    class Solution2(object):
    def integerBreak(self, n):
    """
    :type n: int
    :rtype: int
    """
    pass

    # 将n进行分割(至少分割两部分),可以获得的最大乘积
    def breakInterger(self,n):

    if n == 1:
    return 1

    if self.memo[n] != -1:
    return self.memo[n]



    res = -1

    # i + (n-i)
    for i in range(1,n):
    res = max( res, i* (n-i),self.breakInterger(i))


    self.memo[n] = res

    return self.res



    # 动态规划: 先解决最基本的问题,由底向上解决原问题
    class Solution3(object):
    def integerBreak(self, n):
    """
    :type n: int
    :rtype: int
    """
    self.breakInterger(n)

    # 将n进行分割(至少分割两部分),可以获得的最大乘积
    def breakInterger(self,n):

    # 将n进行分割(至少分割两部分),可以获得的最大乘积
    memo = [-1 for i in range(n+1)]

    memo[1] = 1

    #memo[n]
    # for i in range(1,n):
    # memo[n] = max(memo[n],i * (n-i), i * memo[n-i])

    # #memo[2]
    # for i in range(1,2):
    # memo[2] = max(memo[2],i * (2-i),i*memo[2-i])
    #
    #
    # #memo[3]
    # for i in range(1,3):
    # memo[3] = max(memo[3],i * (3-i), i *memo[3-i])
    #
    # #memo[4]
    # for i in range(1, 4):
    # memo[4] = max(memo[4], i * (4 - i), i * memo[4 - i])

    for i in range(1,n+1):
    for j in range(1,i):
    memo[i] = max(memo[i], j * (i-j) ,j * memo[i-j])

    print memo[n]
    return memo[n]


    s = Solution3()

    s.integerBreak(10)
  • 相关阅读:
    装饰器
    目录和文件操作
    网络通信过程
    epoll并发
    laravel(包含lumen)框架中的跨域函数实例
    windows使用nginx
    nginx反向代理配置 其实很简单
    前端html页面使用marked点亮你的代码
    PHPWAMP开启SSL,PHPWAMP配置ssl证书
    php接收并存储base64位字符串图片
  • 原文地址:https://www.cnblogs.com/lux-ace/p/10546624.html
Copyright © 2011-2022 走看看