当前位置: 首页 > news >正文

LeetCode 790 多米诺和托米诺平铺 题解

对于本题不去看LeetCode的评论区和题解很难想到如何去dp,毕竟就算再怎么枚举也很难找到适用于面向结果的规律。所以对于题解我建议大家还是去看一下灵神给的题解,以下是灵神汇总的图,如果能看懂的话,对于解决题目有很大的帮助。

根据图中所示我们便能找到规律了

n=0 1  
n=1 1
n为2 => 2 = 1* 2+0  
n为3 => 5 = 2* 2+1  
n为4 => 11 = 5* 2+1  
n为5 => 24 = 11* 2+2  
n为6 => 53 = 24* 2+5  
n为7 =>117 = 53* 2+11  
n为8 => 258 = 117* 2+24  
n为n =>??? = dp[n-1]* 2+dp[n-2-1]

然后根据题目要求,我们还需要mod,所以最后的解题步骤如下所示

class Solution {private static final int MOD = 1_000_000_007;public int numTilings(int n) {if (n == 1) {return 1;}long[] f = new long[n + 1];f[0] = f[1] = 1;f[2] = 2;for (int i = 3; i <= n; i++) {f[i] = (f[i - 1] * 2 + f[i - 3]) % MOD;}return (int) f[n];}}

相关文章:

  • Latex排版问题:图片单独占据一页
  • 【网络原理】IP协议
  • vmware虚拟机克隆
  • 聊天助手提示词调优案例
  • 代码随想录算法训练营第九天 |【字符串】151.翻转字符串里的单词、卡码网55.右旋转字符串、28.实现strStr、459.重复的子字符串
  • 星纪魅族新品发布会定档5月13日,Note 16系列战神归来
  • 第七章,VLAN技术
  • 驱动开发系列57 - Linux Graphics QXL显卡驱动代码分析(四)显示区域更新
  • C#中从本地(两个路径文件夹)中实时拿图显示到窗口中并接收(两个tcp发送的信号)转为字符串显示在窗体中实现检测可视化
  • 【C语言】推箱子小游戏
  • C++ 构造函数
  • # YOLOv1:开启实时目标检测的新时代
  • tp8+swoole搭建
  • 如何提升丢包网络环境下的传输性能:从 TCP 到 QUIC,再到 wovenet 的实践
  • OpenGl实战笔记(2)基于qt5.15.2+mingw64+opengl实现纹理贴图
  • 【C++核心技术深度解析:从继承多态到STL容器 】
  • Nacos源码—4.Nacos集群高可用分析四
  • Python爬虫+代理IP+Header伪装:高效采集亚马逊数据
  • 【AI知识库云研发部署】RAGFlow + DeepSeek
  • python打卡day17
  • 上海营商环境的“分寸”感:底线之上不断拓宽自由,底线之下雷霆制止
  • 新疆生产建设兵团草湖项目区副主任宋全伟接受审查调查
  • 央行:增加科技创新和技术改造再贷款额度3000亿元
  • 吴清:全力支持中央汇金公司发挥好类“平准基金”作用
  • 综合治理食品添加剂滥用问题,国务院食安办等六部门联合出手
  • 甘肃省政府原党组成员、副省长杨子兴被提起公诉