C语言求解矩形覆盖
- 解题思路:对于2*n的一个矩形 去考虑一下右侧的组成形状 有两种可能:一种是竖着的2*1矩形,另一种是两个横着的2*1矩形。因此dp[n]=dp[n-1]+dp[n-2]
/**
* 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
*
*
* @param number int整型
* @return int整型
*
* C语言声明定义全局变量请加上static,防止重复定义
*/
int rectCover(int number ) {
int dp[40];
dp[0]=0;
dp[1]=1;
dp[2]=2;
if(number<=2)
return dp[number];
for(int i=3;i<=number;i++)
dp[i]=dp[i-1]+dp[i-2];
return dp[number];
}
京公网安备 11010502036488号