算法系列——割绳子(剑指offer)
题目
题目链接:https://leetcode-cn.com/problems/jian-sheng-zi-lcof/
给你一根长度为 n 的绳子,请把绳子剪成整数长度的 m 段(m、n都是整数,n>1并且m>1),每段绳子的长度记为 k[0],k[1]…k[m-1] 。请问 k[0]k[1]…*k[m-1] 可能的最大乘积是多少?例如,当绳子的长度是8时,我们把它剪成长度分别为2、3、3的三段,此时得到的最大乘积是18。
思路
dp[n] 表示 长度为n 的绳子 能剪成出的最大乘积。
dp[n]=max(dp[n-i]*dp[i]) n>=4
为了方便处理 初始化时dp[1]=1; dp[2]=2;dp[3]=3;
代码
class Solution {public int cuttingRope(int n) {//动态规划 dp[n]= max(dp[n-i]*dp[i])if(n<= 0){return 0;}if(n<=2){return 1;}if(n==3){return 2;}int[]dp =new int[n+1];//注意这里的dp 初始化值 dp[1]=1;dp[2]=2;dp[3]=3;for(int i=4;i<=n;i++){int result=0;for(int j=1;j<=i/2;j++){result=Math.max(dp[i-j]*dp[j],result);}dp[i]=result;}return dp[n];}
}
算法系列——割绳子(剑指offer)相关推荐
- 字符串全排列算法_C#版_剑指OFFER
字符串全排列算法_C#版_剑指OFFER 题目描述 题目描述 输入一个长度为 n 字符串,打印出该字符串中字符的所有排列,你可以以任意顺序返回这个字符串数组. 例如输入字符串ABC,则输出由字符A, ...
- 剑指offer有用python版的吗_Python算法面试通关,剑指offer就靠它了
原标题:Python算法面试通关,剑指offer就靠它了 北上广容不下肉身, 三四线放不下灵魂, 程序员里没有穷人, 有一种土豪叫算法工程师. 算法,晦涩难懂,却又是IT领域最受重视的素养之一可以说, ...
- java牛客排序算法题_《剑指offer》面试题28:字符串的排列(牛客网版本) java...
输入一个字符串,按字典序打印出该字符串中字符的所有排列.例如输入字符串abc,则打印出由字符a,b,c所能排列出来的所有字符串abc,acb,bac,bca,cab和cba. 输入描述: 输入一个字符 ...
- 面试经典算法题集锦——《剑指 offer》小结
本文转载自: http://www.cnblogs.com/fanling999/p/7810558.html 作者:fanling999 转载请注明该声明. 从今年 3 月份开始准备找实习,到现在校 ...
- 12、剪绳子——剑指offer——动态规划
剪绳子 问题描述:给你一根长度为n的绳子,请把绳子剪成m段(m和n都是整数,n>1并且m>1), 每段绳子的长度记为k[0],k[1],...,k[m]. 请问k[0]*k[1]*...* ...
- 每天一算法题 之 《剑指offer》 -- 二维数组中的查找
题目描述 在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序.请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数 ...
- java剪绳子_14. 剪绳子(剑指 Offer 题解Java版)
本文转载自[微信公众号:五角钱的程序员,ID:xianglin965]经微信公众号授权转载,如需转载与原文作者联系 文章目录 14. 剪绳子1. 题目链接2.题目描述3.解题思路3.1贪心3.2动态规 ...
- 算法题解(剑指Offer篇)
文章目录 栈与队列(简单) *剑指 Offer 09. 用两个栈实现队列 - 12.27 剑指 Offer 30. 包含min函数的栈 - 12.27 链表(简单) *剑指 Offer 06. 从尾到 ...
- 剑指offer第二版答案详细版(带详细解题思路)
1.滑动窗口的最大值(剑指offer原59题) 解题思路:其实是一个队列的问题,用一个队列去维护当前窗口中的所有元素:首先将超出窗口中的队头元素先删掉,然后将新的元素插入当前窗口中,插入时要判断新插入 ...
最新文章
- 看漫画学Python,屏幕前的彦祖要不要试试?
- php 提交网页 传值 获取编辑框的值
- Linux上如何查看物理CPU个数,核数,线程数
- web.config mysql_web.config配置mysql数据库连接
- 错误fatal error: curl/curl.h: No such file or directory解决方案
- 个人项目的设计与分析——类饿了么、美团式订餐类校园食堂版App“加个蛋”。...
- Servlet萌新基础
- ROS学习笔记(八): ROS通信架构
- python type error是什么意思_Python-TypeError:“ int”对象不可调用
- 敏捷20周年:一场失败的起义
- iOS safari浏览器上overflow: scroll元素无法滚动bug深究
- prometheus监控redis(无metric接口)
- [转]@html.ActionLink的几种参数格式
- 【易我数据恢复】超实用的数据恢复工具
- js距离单位换算_在线单位换算器
- word分栏及序号对齐
- response.sendRedirect()的用法
- 情感分类与朴素贝叶斯
- 男式西服的三大色系介绍
- 手机不小心把计算机隐藏了怎么恢复出厂设置,图标隐藏了怎么弄出来(手机图标隐藏了怎么恢复)...
热门文章
- 《Weighted Maximum Mean Discrepancy for Unsupervised Domain Adaptation》论文阅读
- go-micro使用etcd作为注册中心
- 模型描边(一)—— three.js后期处理实现
- HR 必须了解的绩效评估方式
- 在虚拟现实中解谜,PSVR游戏《Statik》将于4月24日正式发售
- 使用C#VB.NET将XPS转换为JPG或PNG图像
- TI毫米波FMCW雷达信号(距离、速度)的处理
- [附源码]PHP计算机毕业设计玩得开心旅游网站(程序+LW)
- Kubernetes 1.14:Windows节点的生产级支持、Kubectl更新、持久本地卷GA
- C# 微信支付教程系列之扫码支付