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]; }