790. 多米诺和托米诺平铺

public int numTilings(int N) { // dp转移方程: dp(n) = 2 * dp(n-1) + dp(n-3), 时间复杂度O(N), 空间复杂度O(1)
        if (N == 0) {
            return 0;
        }
        if (N == 1) {
            return 1;
        }
        if (N == 2) {
            return 2;
        }
        int mod = (int)(Math.pow(10, 9) + 7);
        int n1 = 1, n2 = 2, n3 = 5;
        for (int i = 4; i <= N; i++) {
            int temp = (2 * n3 % mod + n1) % mod; // 2*n3+n1 会超过int的最大值(2147483647, 2开头10位数), 所以要对 2*n3 进行mod(1000000007, 1开头10位数)
            n1 = n2;
            n2 = n3;
            n3 = temp;
        }
        return n3;
    }

原文地址:https://www.cnblogs.com/lasclocker/p/11405819.html

时间: 2024-10-02 16:45:41

790. 多米诺和托米诺平铺的相关文章

[Swift]LeetCode790. 多米诺和托米诺平铺 | Domino and Tromino Tiling

We have two types of tiles: a 2x1 domino shape, and an "L" tromino shape. These shapes may be rotated. XX <- domino XX <- "L" tromino X Given N, how many ways are there to tile a 2 x N board? Return your answer modulo 10^9 + 7. (

随机三角形平铺布局算法(iOS实现)

你是否已经看够iOS里默认给出的那些方方正正的块状和规规矩矩的陈列? 本篇给出一种随机三角形平铺布局的算法设计和实现.这种布局在规矩与随机之间做了折中,使其看上去有新鲜感又不会很乱. 本次实现重点在于布局算法的设计和实现,可以改变颜色或者添加图片. 最新源代码下载地址:https://github.com/duzixi/Varied-Layouts(持续维护,欢迎互粉) 博文首发地址:http://blog.csdn.net/duzixi 布局生成效果如下:         核心算法设计以及代码

android 图片水平重复平铺(repeat x)

<=用来重复显示的图 1.最简单方式 创建wave_repeat.xml <?xml version="1.0" encoding="utf-8"?> <bitmap xmlns:android="http://schemas.android.com/apk/res/android" android:src="@drawable/wave" android:tileMode="repeat&q

#金码坊AOS开发平台# 增加了用户自定义快捷菜单在平铺布局下的用户自定义排序管理

#AOS开发平台# 增加了用户自定义快捷菜单在平铺布局下的用户自定义排序管理.

平铺导航——基于分屏导航的实现(IOS开发)

导航模式 -平铺导航:内容没有层次关系,其实就在一个主屏幕上,只是采用分屏分页控制器来导航,可以左右上下滑动屏幕查看内容.(如:系统自带的天气) -标签导航:内容被分割几个功能模块,但这些功能实际上没有任何关系.通过标签管理.标签应用太多太多了... -树形导航:有层次,从上到下细分为或者为包含的关系.(如:邮箱) 这几个经常组合起来一起使用. 这里主要讲平铺导航. 用到的控件为分屏控件(UIPageControl)和滚动视图控件(ScrollView),在这个过程中我们可能确实新建了许多Vie

如何通过CSS实现背景图片自动平铺或拉伸至整个屏幕(自适应大小)

默认情况下,通过HTML代码的BODY标签设置好背景图片<body background="x.jpg"> 后,图片会自动横向和纵向平铺.这就会产生一些美观上的问题. XP人提供CSS代码如下,放在页面头部即可,仅供参考: <style type="text/css"> body { background:url(/img/background.png); background-repeat: repeat-x; background-pos

Android: 背景图片平铺要这么干

<?xml version="1.0" encoding="utf-8"?>  <bitmap xmlns:android="http://schemas.android.com/apk/res/android"    android:src="@drawable/bg_header"      android:tileMode="repeat" >  </bitmap>

libgdx学习记录11——平铺地图TiledMap

地图对于游戏场景十分重要,很多游戏都需要对地图进行编辑,可使用TileMap进行编辑并生成对应的tmx格式地图文件. 编辑好后,可通过TmxMapLoader来读取地图文件.可通过一个正交相机OthographicCamera和正交地图渲染器OrthogonalTiledMapRenderer来进行显示. 实例如下: 1 package com.fxb.newtest; 2 3 import com.badlogic.gdx.ApplicationAdapter; 4 import com.ba

69、Android 布局中轻松实现图片的全屏、居中、平铺

public void paint() { if (item.laying_mode != 1)//平铺或者充满 { new AsyncTask<Void, Void, Void>() { @Override protected Void doInBackground(Void... params) { Looper.prepare(); try { theBitmap = Glide. with(ctxt). load(item.src). asBitmap(). into(fenbianl