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

(2 <= n <= 60)
分析
全排列形式,比较取积之大也能得到结果,但计算显然非最优解
假定各因数之和确定为 n,何种情况下各因子乘积最大?(求幂)
进一步简化,任意数可分解为奇偶之和,即 2 或 3
假定 n=6,分解比较结果

222 < 3*3
结论:排除特殊情况,3 分解优先,2 次之

代码
python 实现

def cutRope(number):maxN=1if 0<number<4:return number-1while number>4:number -=3maxN *=3return number*maxN

小结
实质是与剪无关,反而是求正数最大积

Python算法- 剪绳子相关推荐

  1. 【算法】【动态规划篇】第5节:剪绳子问题

    本期任务:介绍算法中关于动态规划思想的几个经典问题 [算法][动态规划篇]第1节:0-1背包问题 [算法][动态规划篇]第2节:数字矩阵问题 [算法][动态规划篇]第3节:数字三角形问题 [算法][动 ...

  2. 剪绳子python_Python剪绳子如何实现 Python剪绳子实现代码

    本篇文章小编给大家分享一下Python剪绳子实现代码,小编觉得挺不错的,现在分享给大家供大家参考,有需要的小伙伴们可以来看看. 题目:剪绳子 给你一根长度为n的绳子,请把绳子剪成m段(m,n都是整数, ...

  3. 剪绳子 算法_[校招-算法题]动态规划

    动态规划(Dynamic Programming)是面试中非常常见的一种算法,可以解决很多复杂问题. 核心算法: 定义状态:dp[i],一个数组,具体几维根据问题定. 状态转移方程:dp[i] = b ...

  4. leetcode算法题--剪绳子 II

    原题链接:https://leetcode-cn.com/problems/jian-sheng-zi-ii-lcof/ 相关题目:剪绳子 1.循环求余法 //(x ^ a) % p; long re ...

  5. 剪绳子 算法_算法-14.1.剪绳子

    给你一根长度为 n 的绳子,请把绳子剪成整数长度的 m 段(m.n都是整数,n>1并且m>1),每段绳子的长度记为 k[0],k[1]...k[m-1] .请问 k[0]k[1]...*k ...

  6. 剑指Offer算法笔记(Java)剪绳子

    11.剪绳子 描述 给你一根长度为 n 的绳子,请把绳子剪成整数长的 m 段( m . n 都是整数, n > 1 并且 m > 1 , m <= n ),每段绳子的长度记为 k[1 ...

  7. 14- I、 剪绳子(cuttingRope)

    14- I. 剪绳子(cuttingRope) 1. python class Solution:def cuttingRope(self, n: int) -> int:if not n:re ...

  8. 动态规划-剪绳子问题

    题目 给你一根长度为n的绳子,请把绳子剪成整数长的m段(m.n都是整数,n>1并且m>1),每段绳子的长度记为k[0],k[1],-,k[m-1].请问k[0]×k[1]×-×k[m]可能 ...

  9. 【LeetCode】【剑指offer】【剪绳子(二)】

    剑指 Offer 14- II. 剪绳子 II 给你一根长度为 n 的绳子,请把绳子剪成整数长度的 m 段(m.n都是整数,n>1并且m>1),每段绳子的长度记为 k[0],k[1]... ...

最新文章

  1. CVPR 2021接收结果出炉!录用1663篇,接受率显著提升,你的论文中了吗?(附论文下载)...
  2. DedeCms织梦发布文章时输入Tag标签逗号自动变成英文标点的方法
  3. ubuntu+终端不能启动mysql数据库_强制重启Ubuntu服务器后Mysql无法启动
  4. 使用Recast.AI创建具有人工智能的聊天机器人
  5. Vim/GVim格式化xml文件
  6. LeetCode 1005. K 次取反后最大化的数组和
  7. html下拉嵌套只读,html组件不可输入(只读)同时任何组件都有效
  8. ps自定义形状工具_ps中借助形状工具绘制卡通图
  9. 架构设计工作笔记004---架构中常见的概念积累--随时更新
  10. 用‘slay’干掉某个用户的所有进程
  11. 基于 MVP+RxJava2+Retrofit2 的应用—熊猫眼
  12. MySQL-第十四篇事务管理
  13. asp.net门诊收费管理系统
  14. DOSBox的安装及使用
  15. orcad元件封装制作
  16. 如何关闭Windows自动更新
  17. 物联网的新危机!即将到期的SSL证书可能会影响……
  18. 华为应用市场AGC研习社游戏课程上新,助力游戏开发者高效分发获量
  19. 小米手机5s Plus超简单刷成开发版启用Root超级权限的经验
  20. oracle数据类型和Java类型之间的映射关系

热门文章

  1. 小白深度学习入坑指南
  2. matlab绘制动态图,Matlab绘制动态图的两种方式(参考)
  3. JS + Echarts实现中国地图 China.js
  4. android 源码下载
  5. VDI序曲三 桌面虚拟化之远程桌面服务RDS
  6. Centos6.5更新e1000网卡驱动
  7. Java中的不可变集合介绍
  8. 王爽 《汇编语言》之寄存器
  9. Rectangle和RectangleF结构
  10. Pr 入门教程如何个性化“时间轴”面板?