Skip to content

Instantly share code, notes, and snippets.

Embed
What would you like to do?
class Solution {
public:
int uniquePaths(int m, int n) {
if(m <=0 || n <= 0) return 0;
return UP(m-1, n-1);
}
int UP(int m, int n){
//move out of boundary, it's invalid, should not be counted as a path
if(m < 0 || n <0) return 0;
//Robot hits the boundary, we can guarantee to have one way to reach the destination
if(m==0 || n==0) return 1;
//We calculate the sum of how many panths from two paths
return UP(m-1, n) + UP(m, n-1);
}
};
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment