LeetCode第566題重塑矩陣

2021-10-24 04:53:48 字數 976 閱讀 9219

題目**

題目描述

在matlab中,有乙個非常有用的函式 reshape,它可以將乙個矩陣重塑為另乙個大小不同的新矩陣,但保留其原始資料。

給出乙個由二維陣列表示的矩陣,以及兩個正整數r和c,分別表示想要的重構的矩陣的行數和列數。

重構後的矩陣需要將原始矩陣的所有元素以相同的行遍歷順序填充。

如果具有給定引數的reshape操作是可行且合理的,則輸出新的重塑矩陣;否則,輸出原始矩陣。

示例 1:

輸入:nums =

[[1,2],

[3,4]]

r = 1, c = 4

輸出:[[1,2,3,4]]

解釋:行遍歷nums的結果是 [1,2,3,4]。新的矩陣是 1 * 4 矩陣, 用之前的元素值一行一行填充新矩陣。

示例 2:

輸入:nums =

[[1,2],

[3,4]]

r = 2, c = 4

輸出:[[1,2],

[3,4]]

解釋:沒有辦法將 2 * 2 矩陣轉化為 2 * 4 矩陣。 所以輸出原矩陣。

注意:

給定矩陣的寬和高範圍在 [1, 100]。

給定的 r 和 c 都是正數。

解題思路

關鍵:將二維陣列表示為一維陣列

二維陣列a[i][j]表示為一維陣列 : a[i*m+j],其中m為一列的元素個數

**

class

solution

int index =0;

int[

] renums =

newint

[r][c]

;for

(int i =

0; i < r; i++)}

return renums;

}}

leetcode566題 重塑矩陣

leetcode566 重塑矩陣 在matlab中,有乙個非常有用的函式 reshape,它可以將乙個矩陣重塑為另乙個大小不同的新矩陣,但保留其原始資料。給出乙個由二維陣列表示的矩陣,以及兩個正整數r和c,分別表示想要的重構的矩陣的行數和列數。重構後的矩陣需要將原始矩陣的所有元素以相同的行遍歷順序填...

LeetCode 566 重塑矩陣

在matlab中,有乙個非常有用的函式 reshape,它可以將乙個矩陣重塑為另乙個大小不同的新矩陣,但保留其原始資料。給出乙個由二維陣列表示的矩陣,以及兩個正整數r和c,分別表示想要的重構的矩陣的行數和列數。重構後的矩陣需要將原始矩陣的所有元素以相同的行遍歷順序填充。如果具有給定引數的reshap...

LeetCode 566 重塑矩陣

在matlab中,有乙個非常有用的函式 reshape,它可以將乙個矩陣重塑為另乙個大小不同的新矩陣,但保留其原始資料。給出乙個由二維陣列表示的矩陣,以及兩個正整數r和c,分別表示想要的重構的矩陣的行數和列數。重構後的矩陣需要將原始矩陣的所有元素以相同的行遍歷順序填充。如果具有給定引數的reshap...