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

剑指offer第14题 剪绳子

剪绳子:动态规划

给你一根长度为n的绳子,请把绳子剪成整数长的m段(m、n都是整数,n>1并且m>1),每段绳子的长度记为k[0],k[1],…,k[m]。请问k[0]xk[1]x…xk[m]可能的最大乘积是多少?例如,当绳子的长度是8时,我们把它剪成长度分别为2、3、3的三段,此时得到的最大乘积是18。

代码:

int cutRope(int number) {
	if (number <= 1)return 0;
	if (number == 2)return 1;
	if (number == 3)return 2;
	vector<int>dp(number+1,0);
	dp[1] = 1;
	dp[2] = 2;
	dp[3] = 3;
	for (int i = 4; i <= number; i++){
		for (int j = 1; j <i; j++){
			dp[i] = max(dp[i], dp[i - j] * dp[j]);
		}
	}
	return dp[number];
}
qq_42027408
发布了8 篇原创文章 · 获赞 0 · 访问量 70
私信 关注

相关文章:

  • 香港金管局余伟文:有能力维持货币金融稳定 尽快推进“理财通”落地
  • Python解链表两数相加
  • Error: git pull 同步远程代码后 文件夹大小写未同步的问题
  • 浅谈显示技术中帧、帧数、帧率、 FPS 间有何区别
  • PHP面试题——MySQL
  • 构建业务基础镜像
  • 大数据存储框架之HBase(3) NameSpace/Schema
  • Maven
  • Python的安装及环境变量配置
  • CentOS 7 搭建frp内网穿透
  • 全能守护app
  • 【VOLTE案例分析】Server Internal Error 500导致的未接通
  • 小白入门编程之路9::ArrayList集合&学生管理系统
  • 前地方金融局局长旗下私募入股东方微银:深耕金融科技获多轮融资,全国大量银行客户
  • springboot devtools 依赖
  • mongodb更改字段类型
  • vivado 多线程设置笔记
  • 详解TCP连接释放四次挥手过程
  • “重磅利好”余音未了,白酒股怎么就帅不过三秒?
  • 姚洋:反思去杠杆