Advertisement
Guest User

Untitled

a guest
Jan 22nd, 2017
79
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.04 KB | None | 0 0
  1. var factorial = function(n) {
  2. var result = 1;
  3.  
  4. for (var i=n; i>0; i--) {
  5. result *= i;
  6. }
  7.  
  8. return result;
  9. }
  10.  
  11. /**
  12. * @param {number} m
  13. * @param {number} n
  14. * @return {number}
  15. */
  16. var uniquePaths = function(m, n) {
  17. if (m == 1 || n == 1) {
  18. return 1;
  19. }
  20. else {
  21. m--;
  22. n--;
  23.  
  24. return factorial(m+n) / (factorial(m) * factorial(n));
  25. }
  26. }
  27.  
  28. var uniquePaths1 = function(m, n) {
  29. var count = 1;
  30.  
  31. // This works, but is slow.
  32. if (m <= 0 || n <= 0) {
  33. count = 0;
  34. }
  35. else {
  36. if (m === 1 && n === 1) {
  37. count = 1;
  38. }
  39. else if (m === 2 && n === 1) {
  40. count = 1;
  41. }
  42. else if (m === 1 && n === 2) {
  43. count = 1;
  44. }
  45. else if (m === 2 && n === 2) {
  46. count = 2;
  47. }
  48.  
  49. if (m > 2 || n > 2) {
  50. for (var x=m; x>0; x--) {
  51. for (var y=n; y>0; y--) {
  52. count += uniquePaths(x - 1, y - 1);
  53. }
  54. }
  55. }
  56. }
  57.  
  58. return count;
  59. };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement