62.go 478 B

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