首页 > 其他分享 >剑指Offer 14- II. 剪绳子 II

剑指Offer 14- II. 剪绳子 II

时间:2023-08-26 15:45:10浏览次数:45  
标签:14 Offer int 绳子 1000000007 II ans 长度

题目链接: 剑指Offer 14- II. 剪绳子 II

题目描述:
给你一根长度为 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。
答案需要取模 1e9+7(1000000007),如计算初始结果为:1000000008,请返回 1。

解法思路:

此题解法与上一题一样,只是在计算过程中,需要取模运算,

代码:

func cuttingRope(n int) int {

if n<= 3{
    return n-1
}
var ans int64
ans = 1
if n %3 ==1 {
    ans *=4
    n-=4
}
if n%3 ==2 {
    ans *= 2
    n-=2
}
for n>0 {
    ans = (ans*3) % 1000000007
    n -= 3
}
return int(ans % 1000000007)

}

标签:14,Offer,int,绳子,1000000007,II,ans,长度
From: https://www.cnblogs.com/lxing-go/p/17658865.html

相关文章

  • 【题解】CF1413C Perform Easily(双指针)
    【题解】CF1413CPerformEasily写篇题解水水经验~顺便增加一下RP~比较套路和简单的一道绿题。题目链接PerformEasily-洛谷|计算机科学教育新生态(luogu.com.cn)题意概述给你一个长度为\(6\)的\(a\)数组,和一个长度为\(n\)的\(b\)数组,要求将\(b\)数组内的每......
  • Leetcode 454. 四数相加 II(4sum ii)
    题目链接给你四个整数数组nums1、nums2、nums3和nums4,数组长度都是n,请你计算有多少个元组(i,j,k,l)能满足:0<=i,j,k,l<nnums1[i]+nums2[j]+nums3[k]+nums4[l]==0示例1:输入:nums1=[1,2],nums2=[-2,-1],nums3=[-1,2],nums4=[0,2]输出:2......
  • 图像处理 Adobe Camera Raw v15.2 for Windows x64 v14.5 for macOS
    AdobeCameraRaw允许您导入和增强原始格式图像,自从2003年发布以来就成为专业摄影师的必备工具。支持AdobeCameraRaw的应用程序包括Photoshop、PhotoshopElements、AfterEffects和Bridge。此外,AdobeLightroom采用了与AdobeCameraRaw相同的强大的原始格式图像处理......
  • [刷题记录Day14]Leetcode二叉树
    No.1题目前序遍历思路递归法代码publicvoidTraverse(TreeNodenode,List<Integer>list){if(node==null)return;list.add(node.val);//中Traverse(node.left,list);//左Traverse(node.right,list);//右}p......
  • 牛客练习赛114 D题题解
    比赛编号太臭了题目链接对一第一组数据,我们形象化的得到下图:如何拆解使其变成一个“顺子”呢,我们像这样:贪心的从后往前取,对于取数列时的终点也就是枚举的起点如果不为0,就向前一直取,如果取到一个数\(x\)发现这个数的个数\(num_x\)是大于\(num_{x-1}\)的,就停止,最后看拆......
  • 剑指 Offer 59 - I. 滑动窗口的最大值
    题不难,但理解思路很重要。做法是单调队列。如果求滑动窗口的最大值,那么必须在单调队列保持严格单调递减(只能小于,小于等于也不行),为啥不行还不是很清楚。并且,单调队列一定存储的是数组的索引!!否则无法确定滑动窗口的开始位置以及开始时的队列存储最大值的情况。classSolution{......
  • 剑指 Offer 48. 最长不含重复字符的子字符串(中等)
    题目:classSolution{//本题采用双指针滑动窗口的方法public:intlengthOfLongestSubstring(strings){map<char,int>m;//map里面存放的是**每个字符对应的下一个索引**intresult,l=0,r=0;while(r<s.size()){i......
  • P7 UVA11481 Arrange the Numbers
    UVA11481ArrangetheNumbers组合数问题。做法貌似很多,显然在前\(m\)个数中选\(k\)个,即\(C(m,k)\),然后后面有\(m-k\)个数需要保证不放在自己的位置上,所以后面整体是一个禁位问题,貌似可以用棋盘多项式去推禁位公式,但是暂时不会。不过还有另外一种思路,就是对于后面的\(n-......
  • 力扣---1448. 统计二叉树中好节点的数目
    给你一棵根为 root 的二叉树,请你返回二叉树中好节点的数目。「好节点」X定义为:从根到该节点X所经过的节点中,没有任何节点的值大于X的值。 示例1:输入:root=[3,1,4,3,null,1,5]输出:4解释:图中蓝色节点为好节点。根节点(3)永远是个好节点。节点4->(3,4)是路......
  • CF1442D-Sum
    SumYouaregiven\(n\)non-decreasingarraysofnon-negativenumbers.Vasyarepeatsthefollowingoperation\(k\)times:Selectsanon-emptyarray.Putsthefirstelementoftheselectedarrayinhispocket.Removesthefirstelementfromtheselect......