题目:剪绳子 II

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

答案需要取模 1e9+7(1000000007),如计算初始结果为:1000000008,请返回 1。

示例 1:

输入: 2
输出: 1
解释: 2 = 1 + 1, 1 × 1 = 1

示例 2:

输入: 10
输出: 36
解释: 10 = 3 + 3 + 4, 3 × 3 × 4 = 36

提示:

2 <= n <= 1000

解题:

class Solution {public int cuttingRope(int n) {if(n <= 3){return n-1;}long res = 1;//定义为long,防止在乘以三的时候就溢出while (n > 4){n -= 3;res = (res*3)%1000000007;}return (int)((n*res)%1000000007);//先取模,再转int}
}

剑指offer:面试题14- II. 剪绳子 II相关推荐

  1. 剑指offer面试题14-I:剪绳子

    思路一:贪心算法 推论一: 将绳子 以相等的长度等分为多段 ,得到的乘积最大. 推论二: 尽可能将绳子以长度 33 等分为多段时,乘积最大. 核心思路是:尽可能把绳子分成 长度为3的小段,这样乘积最大 ...

  2. 剑指offer——面试题14:调整数组顺序使奇数位于偶数前面

    剑指offer--面试题14:调整数组顺序使奇数位于偶数前面 Solution1: 顺序交换,比较好的算法!!! class Solution { public:void reOrderArray(v ...

  3. 剑指offer面试题[14]-调整数组顺序使奇数位于偶数前面

    题目描述 输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变. 分析: 这个题目的最 ...

  4. 剑指offer 面试题三 找出数组中重复的数字

    1 import org.junit.Test; 2 3 import java.util.Arrays; 4 import java.util.HashSet; 5 6 public class D ...

  5. 剑指offer——面试题44:扑克牌顺子

    剑指offer--面试题44:扑克牌顺子 Solution1: 20180907重做 书上的思路. class Solution { public:bool IsContinuous(vector&l ...

  6. 【剑指Offer面试题】 九度OJ1510:替换空格

    c/c++ 中的字符串以"\0"作为结尾符.这样每一个字符串都有一个额外字符的开销. 以下代码将造成内存越界. char str[10]; strcpy(str, "01 ...

  7. [剑指offer]面试题第[68-2]题[Leetcode][第236题][JAVA][二叉搜索树的最近公共祖先][递归]

    [问题描述][中等] 235/68-1 搜索二叉树 236/68-2 二叉树 [解答思路] 递归 时间复杂度:O(N) 空间复杂度:O(N) 情况 1. , 2. , 3. , 4. 的展开写法如下. ...

  8. [剑指offer]面试题第[57]题[Leetcode][第167题][JAVA][和为s的两个数字][两数之和][HashSet][二分][双指针]

    [剑指offer]面试题第[57]题[Leetcode][第167题][第1题] 有序无序之分 题目输出不同之分 以下解法按照[剑指offer]面试题第[57]题进行题解 [问题描述][简单] 输入一 ...

  9. 两个数组中对应的下标的值合成一个新的数组_剑指 offer 面试题精选图解 03 . 数组中重复的数字

    今天分享的题目来源于 LeetCode 上的剑指 Offer 系列 面试题03. 数组中重复的数字. 题目链接:https://leetcode-cn.com/problems/shu-zu-zhon ...

  10. 剑指offer面试题[64]-数据流中的中位数

    题目描述 如何得到一个数据流中的中位数?如果从数据流中读出奇数个数值,那么中位数就是所有数值排序之后位于中间的数值.如果从数据流中读出偶数个数值,那么中位数就是所有数值排序之后中间两个数的平均值. 分 ...

最新文章

  1. js代码赋值触发select控件的onchange事件
  2. Ubuntu10.04制作官方源镜像以及搭建本地源
  3. 在MaxCompute中利用bitmap进行数据处理
  4. golismero web扫描器
  5. 在 Google Earth 上看新闻
  6. java url utf 8_java中文乱码解决之道(八)—–解决URL中文乱码问题
  7. linux yum的用法【ZT】
  8. Netty工作笔记0082---TCP粘包拆包实例演示
  9. su: /bin/bash: Permission denied带来的疑惑
  10. 理解和使用 Unity UI 系统(canvas和CanvasScaler )
  11. 编译器错误信息: CS1010: 常数中有换行符
  12. YGG 与 StemsDAO 达成合作,为全球音乐创作者提供支持
  13. BeanAir—无线传感器测试方案
  14. 计算机主机mac地址怎么查,电脑mac地址怎么查看【图文】
  15. 给IDEA换个酷炫的主题,这个有点哇塞啊!
  16. 基于matlab的频率特性测试仪,基于虚拟仪器的网络频率特性测试仪
  17. c++顺时针螺旋方阵
  18. 让一切都过去吧,高手挑战2过关方法
  19. 我爱SQL之数据查询
  20. uniapp 小程序车牌号输入键盘

热门文章

  1. IPv6地址分类及表示方法
  2. java栈、堆、方法区
  3. 对 Jenkins+ANT+Jmeter 接口测试的实践
  4. CSAPP(4):存储器层次结构
  5. 完美的隐藏软键盘方法
  6. DB2load遇到SQL3508N错误
  7. Windows Phone开发(39):漫谈关键帧动画上篇 转:http://blog.csdn.net/tcjiaan/article/details/7550506...
  8. 采购审批专题总结--bob
  9. 在JS中最常看到切最容易迷惑的语法(转)
  10. Jquery实战_读书笔记1—选择jQuery