62.go 491 B

12345678910111213141516171819202122232425262728293031
  1. package main
  2. import (
  3. "fmt"
  4. )
  5. func uniquePaths(m int, n int) int {
  6. if m == 1 || n == 1 {
  7. return 1
  8. }
  9. grid := make([][]int, m)
  10. for i := range grid {
  11. grid[i] = make([]int, n)
  12. grid[i][0] = 1
  13. }
  14. for i := range grid[0] {
  15. grid[0][i] = 1
  16. }
  17. for i := 1; i < m; i++ {
  18. for j := 1; j < n; j++ {
  19. grid[i][j] = grid[i-1][j] + grid[i][j-1]
  20. }
  21. }
  22. return grid[m-1][n-1]
  23. }
  24. func main() {
  25. fmt.Println(uniquePaths(1, 1))
  26. fmt.Println(uniquePaths(1, 2))
  27. fmt.Println(uniquePaths(3, 7))
  28. }