方格的走法

来源:互联网 发布:淘宝商城男士交谊舞鞋 编辑:程序博客网 时间:2024/06/10 06:13

题目描述:

  * 请编写一个函数(允许增加子函数),计算n x m的棋盘格子(n为横向的格子数,m为竖向的格子数)沿着各自边缘线从左上
  * 角走到右下角,总共有多少种走法,要求不能走回头路,即:只能往右和往下走,不能往左和往上走。 
             例如: 2x2的格式,总共有以下6种走法: 
             要求: 
     1、用程序方式实现 
     2、传入n和m的值,计算出有多少种走法。 
     3、当传入非法数据时,返回-1。 
  * 计算出nxm个宫格从左上解走到右下角,总共有多少种走法,不允许走回头路,即:
  * 只能往右走和往下走,不能往上和往左走。
  * @param n : 横向的格子数;m: 竖向的格子数
  * @return  :返回走法个数。
  */

测试用例:n=2,m=2时,result=4    n=6,m=2时,result=28

[java] view plaincopy在CODE上查看代码片派生到我的代码片
  1. public long getLatticePaths(int n, int m) {  
  2.     //TODO: Please add your code here!  
  3.     if(n <= 0 || m <=0){  
  4.         return -1;  
  5.     }else if(n == 1 && m >=1){  
  6.         return m+1;  
  7.     }else if((m == 1 && n >=1)){  
  8.         return n+1;  
  9.     }else{  
  10.         return getLatticePaths(n - 1, m) + getLatticePaths(n, m - 1);  
  11.     }  
  12. }  
   

 转自: http://blog.csdn.net/caoliang0921/article/details/18400371
0 0
原创粉丝点击