动态规划
Kweisan0
这个作者很懒,什么都没留下…
展开
-
每天一道算法题之打家劫舍III
题目描述: 在上次打劫完一条街道之后和一圈房屋后,小偷又发现了一个新的可行窃的地区。这个地区只有一个入口,我们称之为“根”。 除了“根”之外,每栋房子有且只有一个“父“房子与之相连。一番侦察之后,聪明的小偷意识到“这个地方的所有房屋的排列类似于一棵二叉树”。 如果两个直接相连的房子在同一天晚上被打劫,房屋将自动报警。1 计算在不触动警报的情况下,小偷一晚能够盗取的最高金额。 示例 1: 输入: [3,2,3,null,3,null,1] 3 / \ 2 3 \ \原创 2020-08-05 09:41:05 · 133 阅读 · 0 评论 -
每天一道算法题之整数拆分
题目描述: 给定一个正整数 n,将其拆分为至少两个正整数的和,并使这些整数的乘积最大化。 返回你可以获得的最大乘积。1 示例 1: 输入: 2 输出: 1 解释: 2 = 1 + 1, 1 × 1 = 1。 代码: 方法一:动态规划public int integerBreak(int n) { //dp[i]: 正整数i拆分后可以获得的最大乘积 //init:dp[0] = 0,dp[1] = 0;dp[2] = 1 //转移方程 //dp[i] = max(j * .原创 2020-07-30 19:02:36 · 242 阅读 · 0 评论