版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/skyejy/article/details/88357283
当数据规模较大时,递归的方式效率很低。
public class Main {
static int fun2(int n, int k) {
int arr[][]=new int[n+1][k+1];
for(int i=1;i<=n;i++)
{
for(int j=1;j<=k;j++)
{
if(i==1||j==1) arr[i][j]=1;
else if(i<j) arr[i][j]=arr[i][i];
else if(i==j) arr[i][j]=1+arr[i][j-1];
else arr[i][j]=arr[i][j-1]+arr[i-j][j];
}
}
return arr[n][k];
}
public static void main(String[] args) {
// TODO Auto-generated method stub
System.out.println(fun2(5,5));
System.out.println(fun2(50,40));
}
}