1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
| // @Title: 重塑矩阵 (Reshape the Matrix)
// @Author: 15816537946@163.com
// @Date: 2021-02-17 11:04:46
// @Runtime: 8 ms
// @Memory: 6.9 MB
func matrixReshape(nums [][]int, r int, c int) [][]int {
row, column := len(nums), len(nums[0])
if r*c != row*column {
return nums
}
ret := make([][]int, r)
for i := range ret {
ret[i] = make([]int, c)
}
var lo, hi int
for i, rows := range ret {
for j := range rows {
if hi > column-1 {
hi = 0
lo++
}
ret[i][j] = nums[lo][hi]
hi++
}
}
return ret
}
|