日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > java >内容正文

java

Java 矩形覆盖

發布時間:2024/9/20 java 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Java 矩形覆盖 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1. 題目描述

我們可以用21的小矩形橫著或者豎著去覆蓋更大的矩形。請問用n個21的小矩形無重疊地覆蓋一個2*n的大矩形,總共有多少種方法?

2. 解題思路

  • 當要覆蓋2*1的大矩陣時:只有一種方式即f(1) = 1
  • 當要覆蓋2*2的大矩陣時:可以有兩種跳法:f(2) = 2
  • 當有23階臺階時,這里先看第一步怎么走,分兩種情況:
    當先覆蓋一個21時,那剩下的22覆蓋就有兩種情況,即f(2) = 2; 當先覆蓋一個22時,比如下圖中中間的覆蓋情況,那剩下的2*1就的覆蓋方法數為f(1) = 1;那么也即是n=3時,兩種情況加起來就是:f(3)=f(1)+f(2)
  • 同理可以總結出:f(n)=f(n-1)+f(n-2),也即是斐波那契數列。

3. 代碼

public class RectangularCover {public static void main(String[] args){RectangularCover mm=new RectangularCover();int tt=mm.RectCover(4);System.out.println(tt); }public int RectCover(int target) {if ( target < 1 ) return 0;int g = 1;int f = 2;while (target>1 ) {f = f + g;g = f - g;target--;}return g;}}

運行:

5

以上僅作學習筆記。

總結

以上是生活随笔為你收集整理的Java 矩形覆盖的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。