566.reshape-the-matrix.go 300 B

1234567891011121314
  1. func matrixReshape(nums [][]int, r int, c int) [][]int {
  2. m, n := len(nums), len(nums[0])
  3. if m*n != r*c || (m == r && n == c) {
  4. return nums
  5. }
  6. res := make([][]int, r)
  7. for i := range res {
  8. res[i] = make([]int, c)
  9. }
  10. for i := 0; i < r*c; i++ {
  11. res[i/c][i%c] = nums[i/n][i%n]
  12. }
  13. return res
  14. }