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

做求职网站百度搜索风云榜小说总榜

做求职网站,百度搜索风云榜小说总榜,宁波城乡建设网站,注册网站域名的作用题目 有两种形状的瓷砖:一种是 2 x 1 的多米诺形,另一种是形如 “L” 的托米诺形。两种形状都可以旋转。 给定整数 n ,返回可以平铺 2 x n 的面板的方法的数量。返回对 109 7 取模 的值。 平铺指的是每个正方形都必须有瓷砖覆盖。两个平铺不…

题目

有两种形状的瓷砖:一种是 2 x 1 的多米诺形,另一种是形如 “L” 的托米诺形。两种形状都可以旋转。
给定整数 n ,返回可以平铺 2 x n 的面板的方法的数量。返回对 109 + 7 取模 的值。
平铺指的是每个正方形都必须有瓷砖覆盖。两个平铺不同,当且仅当面板上有四个方向上的相邻单元中的两个,使得恰好有一个平铺有一个瓷砖占据两个正方形。

一、代码实现(动态规划+滚动数组优化)

func numTilings(n int) int {const mod = 1e9 + 7if n == 0 {return 1}if n <= 2 {return []int{0, 1, 2}[n]}a, b, c := 1, 1, 2for i := 3; i <= n; i++ {next := (2*c + a) % moda, b, c = b, c, next}return c
}

二、算法分析

1. 核心思路
  • 递推关系:发现状态转移方程dp[n] = 2*dp[n-1] + dp[n-3]
  • 滚动数组优化:仅维护前三个状态值降低空间复杂度
  • 边界处理:直接处理n=0,1,2的特殊情况
2. 关键步骤
  1. 初始化状态:a=dp[0]=1, b=dp[1]=1, c=dp[2]=2
  2. 迭代计算
    • 根据递推式更新当前状态
    • 滚动更新前三个状态值
  3. 结果返回:最终c即为所求值
3. 复杂度
指标说明
时间复杂度O(n)线性遍历到目标位置
空间复杂度O(1)仅使用三个临时变量

三、图解示例

在这里插入图片描述

四、边界条件与扩展

1. 特殊场景验证
  • n=0:空面板返回1种方法
  • n=1:只能竖直铺多米诺返回1
  • n=2:两种铺法(两竖直/两水平)返回2
  • 大数测试:验证模运算正确性
2. 扩展应用
  • 三维铺砖:扩展到三维空间铺砖问题
  • 动态瓷砖:处理可变形状瓷砖的铺法
  • 艺术设计:生成具有美学的铺砖图案
3. 多语言实现
class Solution {public int numTilings(int n) {final int MOD = 1000000007;if (n == 0) return 1;if (n <= 2) return new int[]{0,1,2}[n];int a = 1, b = 1, c = 2;for (int i = 3; i <= n; i++) {int next = (2*c % MOD + a) % MOD;a = b;b = c;c = next;}return c;}
}
class Solution:def numTilings(self, n: int) -> int:MOD = 10**9 +7if n ==0: return 1if n <=2: return [0,1,2][n]a, b, c = 1, 1, 2for _ in range(3, n+1):a, b, c = b, c, (2*c +a) % MODreturn c

五、总结与优化

1. 算法对比
方法优势适用场景
动态规划时间复杂度最优常规场景
矩阵快速幂O(log n)时间复杂度极大n值计算
记忆化递归代码直观小规模计算
2. 工程优化
  • 预计算缓存:存储常用值加速重复查询
  • 并行计算:分段计算合并结果
  • SIMD优化:利用向量指令加速计算
3. 扩展方向
  • 非对称瓷砖:处理不同尺寸瓷砖的组合
  • 彩色铺法:考虑颜色搭配的排列组合
  • 拓扑约束:引入连通性等拓扑限制条件
http://www.dtcms.com/wzjs/126995.html

相关文章:

  • b2b网站有那些国外网站排名前十
  • 怎样做当当网站代理网站宣传推广方案
  • 专业武汉网站建设公司外包网站有哪些
  • 自制wordpressseo网络优化专员是什么意思
  • wordpress 主题搜索框windows优化大师怎么用
  • 潮州哪里有做网站网页设计
  • 公司网站优化去哪里学ks免费刷粉网站推广马上刷
  • 熊岳网站怎么做宁波网站制作设计
  • 下载公众号宁波企业seo外包
  • 哈尔滨网站设计培训班虎门今日头条新闻
  • 山东竞价推广公司长沙网站优化价格
  • 网站测速seo建站公司
  • 南宁手机网站制作新冠疫情最新数据
  • 常州微信网站建设服务5118和百度指数
  • 合肥企业网站模板建站下载百度地图2022最新版
  • 大前端搜索引擎优化百度
  • 北京做网站浩森宇特seo排名优化工具推荐
  • 做邪恶网站衱抓判多久淘宝客推广一天80单
  • 成都大型网站建设公司排名一级域名二级域名三级域名的区别
  • 百度秒收录的网站上优化seo
  • 联想用来网站开发笔记本竞价托管咨询微竞价
  • 河北中尊建设工程有限公司官方网站我想做网络推广找谁
  • 个人网站带论坛 备案百度提交入口的注意事项
  • 手机网站系统爱站查询工具
  • 免费招聘网站建设技术培训
  • 做一个网站需要到哪里做seo优化是什么意思
  • 西安网络推广运营公司深圳短视频seo教程
  • 如何做p2p网站百度主页面
  • 杭州专业网站建设公司海外推广是做什么的
  • 动软代码生成器 做网站四年级写一小段新闻