leetcode 1155. 掷骰子等于目标和的方法数

embedded/2025/2/22 0:48:26/

题目如下
在这里插入图片描述

数据范围
在这里插入图片描述

显然本题可以使用动态规划
令f(i,j)为投掷i次骰子走到j处的方法数
则f(i,j) = f(i - 1,j - 1) + f(i,j - 2) + ..... + f(i,j - k)
所以可以利用一个二维数组计算来转移。
但是由于每次计算都只会用到上一行的数据,
所以可以利用滚动数组的思想从后往前更新减少空间复杂度。

通过代码

class Solution {
public:int numRollsToTarget(int n, int k, int target) {if (n * k < target)return 0;if (n * k == target)return 1;if(n == 1)return 1;vector<int> dp(target + 1,0);for(int i = 1;i <= min(k,target);i++)dp[i] = 1;    int mod = 1e9 + 7;for (int i = 1; i < n; i++) {for (int j = target; j >= 1; j--) {dp[j] = 0;for (int l = 1; l <= k; l++) {if (j > l) {dp[j] = (dp[j] + dp[j - l]) % mod;}}}}return dp[target];}
};

在这里插入图片描述


http://www.ppmy.cn/embedded/164198.html

相关文章

HttpServletRequest

在 Spring 框架中&#xff0c;HttpServletRequest 和 RequestBody JSONObject 是两种常见的参数注入方式&#xff0c;用于处理 HTTP 请求的数据。 1. HttpServletRequest servletRequest HttpServletRequest 是 Java Servlet API 中的一个接口&#xff0c;Spring MVC 中也使用…

观望=没有!

“兄弟&#xff0c;Java现在学还有前途吗&#xff1f;”“前端是不是饱和了&#xff1f;”——每天打开私信&#xff0c;这类问题能占大半。我的回复永远只有一句&#xff1a; “如果你非要等我说‘行’才敢行动&#xff0c;那答案已经不重要了。” # 技术人总在纠结“能不能”…

Android 中使用 FFmpeg 进行音视频处理

1. FFmpeg 基础知识 1.1 什么是 FFmpeg? FFmpeg 是一个开源的多媒体处理工具,支持音视频的编码、解码、转码、裁剪、合并、滤镜、流媒体等功能。它是一个命令行工具,支持多种音视频格式和编解码器。1.2 为什么在 Android 中使用 FFmpeg? Android 自带的多媒体 API(如 Med…

懒加载代理模式(Lazy Initialization Proxy Pattern)

LazyProxy 类实现了懒加载代理模式&#xff08;Lazy Initialization Proxy Pattern&#xff09;。懒加载是一种设计模式&#xff0c;旨在延迟对象的创建&#xff0c;直到确实需要它时才进行初始化。这可以节省资源&#xff0c;特别是在对象创建开销较大或者对象未必会被使用的情…

11-R因子

R 因子 因子用于存储不同类别的数据类型&#xff0c;例如人的性别有男和女两个类别&#xff0c;年龄来分可以有未成年人和成年人。 R 语言创建因子使用 factor() 函数&#xff0c;向量作为输入参数。 factor() 函数语法格式&#xff1a; factor(x character(), levels, la…

算法-查找二叉树里的众数

力扣题目&#xff1a;501. 二叉搜索树中的众数 - 力扣&#xff08;LeetCode&#xff09; 给你一个含重复值的二叉搜索树&#xff08;BST&#xff09;的根节点 root &#xff0c;找出并返回 BST 中的所有 众数&#xff08;即&#xff0c;出现频率最高的元素&#xff09;。 如果…

【产品资料】陀螺匠·企业助手v1.8 产品介绍

陀螺匠企业助手是一套采用Laravel 9框架结合Swoole高性能协程服务与Vue.js前端技术栈构建的新型智慧企业管理与运营系统。该系统深度融合了客户管理、项目管理、审批流程自动化以及低代码开发平台&#xff0c;旨在为企业提供一站式、数字化转型的全方位解决方案&#xff0c;助力…

Qt开源项目获取

GitHub上超实用的Qt开源项目,码住不谢!🎉 宝子们,今天来给大家安利一波GitHub上超棒的Qt开源项目,无论是学习还是开发,都能找到超多灵感和实用工具,快来看看有没有你需要的吧!1. Qt-Advanced-Docking-System完美的Dock窗口布局解决方案,让你的窗口管理变得超级灵活。…