博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
刷题笔记(17)--整数拆分/剪绳子(动态规划)
阅读量:3957 次
发布时间:2019-05-24

本文共 461 字,大约阅读时间需要 1 分钟。

相同题目:

在这里插入图片描述

使用动态规划解题:

  • 使用dp数组存储直到 n 的最大乘积。
  • dp[n] 就是要返回结果
  • dp[0] = dp[1] = 0 : 这意味dp数组从索引 2 开始递推
  • dp[i] 存放 i 的最大乘积
  • dp[i] 有两种情况:假设 j 是其中一段的长度,另一个乘积有两种可能
    • 只有两段 j、i-j ; 其乘积是 j * (i-j) :题目要求 m>1,所以至少两个,即 j 不能等于 0;
    • 或者 j 和 dp[i-j] 多段构成,dp[i-j] 是之前存储的 i-j 的最大乘积
    • 使用 max 函数和当前 curMax 比较取最大值,保留多个结果中的最大值;
class Solution {
public int cuttingRope(int n) {
int[] dp = new int[n+1]; for(int i=2;i<=n;i++){
int curMax = 0; for(int j=1;j

转载地址:http://ypozi.baihongyu.com/

你可能感兴趣的文章
hibernate 自动导入sql 文件import.sql 国际化编码的问题的解决方案
查看>>
第七颗头骨 & 忘魂花 凤凰
查看>>
李小龙哲学之言
查看>>
潜伏中体现的潜规则
查看>>
[Java] Appfuse 源代码分析
查看>>
[Java] Appfuse 最佳实践
查看>>
[心情] 如果有一天
查看>>
[随笔] 6月近况小记 & 一个站点优化问题
查看>>
[Perl] 关于 Bugzilla 的一些问题与研究
查看>>
[Linux] 常用 linux 系统命令及维护备忘
查看>>
[Linux] 关于 Ext4 HowTo
查看>>
[杂记] 新年物语&关于Mysql引擎性能测试
查看>>
[心得] 近期更新&关于Infobright
查看>>
[杂记] 流量统计 & 短信接口
查看>>
[Java] JRebel + Maven + Jetty 热部署
查看>>
[算法] 从 Memcached 分布式应用看一致性哈希散列函数的选择
查看>>
[中间件] 消息处理利器 ActiveMQ 的介绍 & Stomp 协议的使用
查看>>
[设计] 原型界面设计利器 Balsamiq Mockups 推荐
查看>>
[闲话] 在西方的程序员眼里,东方的程序员是什么样的
查看>>
[管理] 成功之路的探寻 —— “三力” 理论
查看>>