首页 > 其他分享 >343.integer-break 整数拆分

343.integer-break 整数拆分

时间:2022-10-05 17:35:27浏览次数:59  
标签:max return int res break 343 integer dp

题目描述

343.整数拆分

解题思路

还是寻找递推关系,设\(dp_n\)为正整数\(n\)所求的最大乘积。
这里可以注意到:\(n > 4\)时, \(dp_n = \max\[dp_{n - 3} * 3,\ dp_{n - 4} * 4\]\)。
根据递推关系写出for循环递推求解。

代码

class Solution {
  public:
    int get_max(int a, int b) {
        return a > b ? a : b;
    }
    int integerBreak(int n) {
        vector<int> res(n);
        if (n == 1 || n == 4)
            return n;
        else if (n == 2 || n == 3)
            return 1 * (n - 1);
        else {
            for (int i = 0; i < 4; i++)
                res[i] = i + 1;
            for (int i = 4; i < n; i++) {
                res[i] = get_max(res[i - 3] * 3, res[i - 4] * 4);
            }
            return res[n - 1];
        }
    }
};

标签:max,return,int,res,break,343,integer,dp
From: https://www.cnblogs.com/zwyyy456/p/16755950.html

相关文章

  • Empire Breakout学习体会
    申明:本文为靶机EMPIRE:BREAKOUT学习笔记,相关操作仅在测试环境中进行,严禁任何危害网络安全的恶意行为。本文主要记录了一些关键知识点,仅供学习!一、安装说明靶机在https://ww......
  • Integer
    【1】直接使用,无需导包java.lang类Integer【2】类的继承关系  【3】实现的接口  【4】这个类被final修饰,那么这个类不能有子类,不能被继承  【5】包装类......
  • java基础--break和continue!!!!!
    break和continuebreak用于强行退出循环,不执行循环中剩余的语句,也可在switch语句中使用。break在任何循环语句主体,均可用break控制循环流程。packagecom.wang.struct;......
  • Java流程控制09(break;continue循环)
    break;continue语句:break在任何循环语句的主体部分,均可用break控制循环的流程,break用于强行退出循环,不执行循环中剩余的语句(break语句也在switch语句中使用)continue语句......
  • continue break return switch 联系区别
    问:switch语句中,case后面的语句序列中一定要有break语句吗?答:1)在switch语句中使用break语句将终止语句的序列。当遇到Break语句时,程序将整个switch语句后面的一行代码处......
  • Python break 语句
    Pythonbreak语句,就像在C语言中,打破了最小封闭for或while循环。break语句用来终止循环语句,即循环条件没有False条件或者序列还没被完全递归完,也会停止执行循环语句。break语......
  • java.lang.RuntimeException: Unable to instantiate class java.lang.Integer with v
    代码为@Value("${address.count}")privateIntegercount;单元测试中代码修改为@InjectableprivateIntegercount=1000;单元测试中类型没法自动转换,......
  • 9月28日——while循环知识不充、for循环、break及continue生效范围和range方法的介绍
    目录今日内容总结一、while循环内容补充1、死循环2、嵌套和全局标志位二、循环结构之for循环概念介绍for循环结构:1、for结构2、for...else结构三、break和continue的生效范......
  • BigInteger精讲
    BigInteger初识在java的整数类型里面,byte为8位,short为16位,int为32位,long为64位。正因为这些数值的二进制位数已经固定,所以它们能表示的数值大小就有一定的范围限制。如......
  • [Oracle] LeetCode 1290 Convert Binary Number in a Linked List to Integer
    Givenheadwhichisareferencenodetoasingly-linkedlist.Thevalueofeachnodeinthelinkedlistiseither0or1.Thelinkedlistholdsthebinaryrepr......