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

剑指 Offer 14- I. 剪绳子

时间:2023-04-06 22:47:22浏览次数:51  
标签:return 14 Offer int res 绳子 个数

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

方法:数论

解题思路

将 \(n\) 分为 \(m\) 个数的和,使得这 \(m\) 个数的乘积最大,那么应该将 \(m\) 个数分为 \(2\) 和 \(3\) 的组合, 尽可能为 \(3\)。

代码

class Solution {
public:
    int cuttingRope(int n) {
        if (n == 2) return 1;
        if (n == 3) return 2;
        //if (n == 4) return 4; 特殊情况

        int res = 1;
        while (n > 4) {
            res *= 3;
            n -= 3;
        }

        return res * n;
    }
};

标签:return,14,Offer,int,res,绳子,个数
From: https://www.cnblogs.com/lxycoding/p/17294477.html

相关文章

  • 剑指 Offer 14- II. 剪绳子 II
    题目链接:剑指Offer14-II.剪绳子II方法:数论解题思路将\(n\)分为\(m\)个数的和,使得这\(m\)个数的乘积最大,那么应该将\(m\)个数分为\(2\)和\(3\)的组合,尽可能为\(3\)。注意大数越界问题。代码classSolution{public:intcuttingRope(intn){......
  • 1145. 二叉树着色游戏
    题目链接:1145.二叉树着色游戏方法:分类解题思路(1)\(x\)节点将二叉树分成了\(3\)部分,分别是父节点子树、左子树、右子树(节点数分别为n1n2n3);(2)为了使得二号玩家染色尽可能的多,应该让\(y\)选择在\(x\)相邻的节点。若存在以下一种情况,则二号玩家稳赢,n1>n2+n3+1||......
  • 【web 开发基础】PHP 的流程控制之多向条件分支结构 -PHP 快速入门 (14)
    多向条件分支结构(elseif)条件分支结构其实是我们生活中常用的一种一种逻辑结构,类似于我们常用的(如果...那么...否则...就.....).本文中的elseif子句,和此名称暗示的一样,就是if和else的组合,相当于(...else{if(表达式){{语句块;}}})。和else一样,它延伸了if语句,条件分支结构中els......
  • 华硕 ASUS-PRIME-B560M-A Intel Core i5-11400黑苹果efi引导文件
    原文来源于黑果魏叔官网,转载需注明出处。(下载请直接百度黑果魏叔)硬件型号驱动情况主板ASUS-PRIME-B560M-A处理器IntelCorei5-11400已驱动内存16GBDDR43200Mhz已驱动硬盘WesternDigitalBlackSN750500GB已驱动显卡SAPPHIREPULSERX5600XT6GB已驱动声卡ALC897已驱动网卡I......
  • 剑指 Offer 12. 矩阵中的路径
    题目链接:剑指Offer12.矩阵中的路径方法:DFS解题思路根据\(word\)中的第一个字母,从\(board\)网格中开始查找,通过\(DFS\)算法思想实现。注意:在每一轮开始查找前,每个位置的标记应该清除;每一个位置有上下左右四个方向可以选择;\(DFS\)查找进入下一步时要将位置标记......
  • 树:剑指 Offer 68 - II. 二叉树的最近公共祖先
    题目描述:给定一个二叉树,找到该树中两个指定节点的最近公共祖先。百度百科中最近公共祖先的定义为:“对于有根树T的两个结点p、q,最近公共祖先表示为一个结点x,满足x是p、q的祖先且x的深度尽可能大(一个节点也可以是它自己的祖先)。” 例如,给定如下二叉树: root= ......
  • 141. 环形链表
     141. 环形链表解法一:所到之处,寸草不生第一种解法自己写的,巧妙运用了链表的val,只要遍历过,就将节点的值设置为1e9,时间空间复杂度都达到了完美的统一(doge)/***Definitionforsingly-linkedlist.*structListNode{*intval;*ListNode*next;*L......
  • 树:剑指 Offer 68 - I. 二叉搜索树的最近公共祖先
    题目描述:给定一个二叉搜索树,找到该树中两个指定节点的最近公共祖先。百度百科中最近公共祖先的定义为:“对于有根树T的两个结点p、q,最近公共祖先表示为一个结点x,满足x是p、q的祖先且x的深度尽可能大(一个节点也可以是它自己的祖先)。”例如,给定如下二叉搜索树: root......
  • 题目 1014: [编程入门]阶乘求和
    求Sn=1!+2!+3!+4!+5!+…+n!之值,其中n是一个数字(n不超过20)。 1.因为这是阶乘求和,一般的int类型可能就不够,因此我们利用longlongint类型(不用unsignedlong因为当n为20时,Sn=2561327494111820313)了,unsignedlong的范围不够。2.求Sn的和,我·用的是两个for循环嵌套for(in......
  • 【LeetCode剑指offer 01】数组中重复的数字、两个栈实现队列
    数组中重复的数字数组中重复的数字找出数组中重复的数字。在一个长度为n的数组nums里的所有数字都在0~n-1的范围内。数组中某些数字是重复的,但不知道有几个数字重复了,也不知道每个数字重复了几次。请找出数组中任意一个重复的数字。示例1:输入:[2,3,1,0,2,5,3]输......