当前位置: 首页 > news >正文

做物流的网站都有什么风险福州专业的seo软件

做物流的网站都有什么风险,福州专业的seo软件,嘉兴公司网站建设,手机阅读网站开发原因Day41 动态规划3 343. 整数拆分 思路 不知道如何拆分,才能使乘积最大化 有什么理论依据? 根据代码随想录 拆分使乘积最大化逻辑:应该尽可能拆成相同的数 根据题目,发现,拆分后的数可以继续拆分,因此可…

Day41 动态规划3

343. 整数拆分

思路

不知道如何拆分,才能使乘积最大化
有什么理论依据?

根据代码随想录
拆分使乘积最大化逻辑:应该尽可能拆成相同的数

根据题目,发现,拆分后的数可以继续拆分,因此可以用动规的思路

要点:

  1. dp数组含义 对i进行拆分,得到最大乘积为dp[i]
  2. 递推公式:
    如果拆成两个数:j * (i - j)
    如果拆成三个数以上:j * dp[i - j]
    递推公式可以将所有的情况都考虑,在比较取最大值就行;因此不知道上述逻辑也能写

最终代码:

class Solution:def integerBreak(self, n: int) -> int:dp = [0] * (n + 1)dp[0] = 0dp[1] = 0dp[2] = 1for i in range(3, n + 1):for j in range(1, i // 2 + 1):dp[i] = max(j * (i - j), j * dp[i - j], dp[i])return dp[n]

总结:
一开始不知道怎么拆最大,觉得会有一个特别的逻辑,但是实际写代码的时候,是一个暴力的方式将所有的情况都考虑,再比较取值的。

96.不同的二叉搜索树

思路

dp[i]的结果可以看作根节点为1到i的二叉搜索树种数之和
但是不同n,根节点为i得到的结果也不同
不知道怎么想递推公式

根据代码随想录
首先,根据样例观察规律
n = 3
1为根节点以及3为根节点,右子树的分布和n为2的布局是一样的
2为根节点,左右子树的分布根n为1一样

总共和 = 根节点为1的情况 + 根节点为2 + 根节点为3
根节点为1 = 左子树0个节点 * 右子树2个节点
根2 = 左子树1个节点 * 右子树1个节点
根3 = 左子树2个节点 * 右子树0个节点

n = 3可以根据0,1,2三种情况推导出来

j 为根节点,左边有j - 1个节点,右面有i - j个节点

最终代码:

class Solution:def numTrees(self, n: int) -> int:dp = [0] * (n + 1)dp[0] = 1for i in range(1, n + 1):for j in range(1, i + 1):dp[i] += dp[j - 1] * dp[i - j]return dp[n]

总结
这题有点难,没做过想不到怎么做

http://www.rdtb.cn/news/15197.html

相关文章:

  • 明年做那个网站能致富怎么做seo
  • 网站开发一般会使用框架吗广州网站设计制作
  • 有没有电脑做兼职的网站营销网络怎么写
  • 个人网站建设服务网站设计方案模板
  • 深圳高端网站建设创新seo查询外链
  • 做网站的专业公司关键词优化哪个好
  • 门户网站有哪些推广分类seo 重庆
  • 有做装修效果图赚钱的网站吗seo教程最新
  • 网站建设 收费明细海淀区seo搜索引擎
  • 做网站v1认证是什么意思品牌营销推广策划方案
  • 做美食分享网站源码电商平台营销策划方案
  • 网站开发公司的职责重大军事新闻最新消息
  • 松原市住房和城乡建设局网站seo技术服务外包公司
  • 网站建设 协议书谷歌广告上海有限公司官网
  • 优秀网页设计排版惠州seo报价
  • 男直接做的视频网站个人在百度上发广告怎么发
  • 阿里巴巴网站威海哪里做?百度手游app下载
  • 咸宁网站建设百度网首页
  • 怎么做网站账号注册机销售推广的方法都有哪些
  • wordpress keywordseo经验
  • 保险理财网站建设网页制作代码模板
  • 网站建设金手指稳定网站推广多少钱一年
  • 网站建设写程序用什么软件怎么下载需要会员的网站视频
  • 成都高度网站技术建设公司企业网络营销策略案例
  • 招商网站建设大概多少钱太原做网站的
  • 国外有建站公司吗搜索seo是什么意思
  • 能看外国网站的浏览器一站式发稿平台
  • ip开源网站fpga可以做点什么用媒体软文发稿
  • 网站通常用什么编程做接广告的平台
  • php网站后台无法上传图片百度网盘服务电话6988