国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

【LeetCode每日一題】——566.重塑矩陣

這篇具有很好參考價(jià)值的文章主要介紹了【LeetCode每日一題】——566.重塑矩陣。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

一【題目類別】

  • 矩陣

二【題目難度】

  • 簡(jiǎn)單

三【題目編號(hào)】

  • 566.重塑矩陣

四【題目描述】

  • 在 MATLAB 中,有一個(gè)非常有用的函數(shù) reshape ,它可以將一個(gè) m x n 矩陣重塑為另一個(gè)大小不同(r x c)的新矩陣,但保留其原始數(shù)據(jù)。
  • 給你一個(gè)由二維數(shù)組 mat 表示的 m x n 矩陣,以及兩個(gè)正整數(shù) r 和 c ,分別表示想要的重構(gòu)的矩陣的行數(shù)和列數(shù)。
  • 重構(gòu)后的矩陣需要將原始矩陣的所有元素以相同的 行遍歷順序 填充。
  • 如果具有給定參數(shù)的 reshape 操作是可行且合理的,則輸出新的重塑矩陣;否則,輸出原始矩陣。

五【題目示例】

  • 示例 1:

    • 【LeetCode每日一題】——566.重塑矩陣,LeetCode,矩陣,算法,數(shù)據(jù)結(jié)構(gòu),LeetCode,566.重塑矩陣
    • 輸入:mat = [[1,2],[3,4]], r = 1, c = 4
    • 輸出:[[1,2,3,4]]
  • 示例 2:

    • 【LeetCode每日一題】——566.重塑矩陣,LeetCode,矩陣,算法,數(shù)據(jù)結(jié)構(gòu),LeetCode,566.重塑矩陣
    • 輸入:mat = [[1,2],[3,4]], r = 2, c = 4
    • 輸出:[[1,2],[3,4]]

六【題目提示】

  • m = = m a t . l e n g t h m == mat.length m==mat.length
  • n = = m a t [ i ] . l e n g t h n == mat[i].length n==mat[i].length
  • 1 < = m , n < = 100 1 <= m, n <= 100 1<=m,n<=100
  • ? 1000 < = m a t [ i ] [ j ] < = 1000 -1000 <= mat[i][j] <= 1000 ?1000<=mat[i][j]<=1000
  • 1 < = r , c < = 300 1 <= r, c <= 300 1<=r,c<=300

七【解題思路】

  • 例如除法和取模的知識(shí)
  • 題目要求按行優(yōu)先重塑矩陣,所以我們遍歷原數(shù)組的元素個(gè)數(shù)(設(shè)置為i),i對(duì)原數(shù)組的列數(shù)做除法就定位到按行優(yōu)先存儲(chǔ)的對(duì)應(yīng)行數(shù),i對(duì)原數(shù)組的列數(shù)取模就定位到按行優(yōu)先存儲(chǔ)時(shí)這一行對(duì)應(yīng)的列數(shù),這樣就可以取出原數(shù)組按行優(yōu)先存儲(chǔ)時(shí)的每一個(gè)元素
  • 然后將取出的元素存入創(chuàng)建的擁有新的行和列的新的二維數(shù)組中,在這個(gè)新的二維數(shù)組中,我們?nèi)砸詣偛旁O(shè)置為i去尋找存入位置,i對(duì)新的二維數(shù)組的列數(shù)做除法,就得到了按行優(yōu)先存儲(chǔ)存入的行數(shù),同理,i對(duì)新的二維數(shù)組的列數(shù)取模就定位到按行優(yōu)先存儲(chǔ)時(shí)這一行的列數(shù),這樣就可以將上一步取出來的元素存儲(chǔ)對(duì)應(yīng)位置,實(shí)現(xiàn)了二維數(shù)組的重塑
  • 需要注意的是,如果原二維數(shù)組的元素個(gè)數(shù)不等于新的二維數(shù)組的元素的個(gè)數(shù),直接返回原數(shù)組即可,因?yàn)闊o法重塑數(shù)組
  • 最后返回結(jié)果即可
  • PS:對(duì)于不同語言實(shí)現(xiàn)的細(xì)節(jié)略有不同,具體可見下面的代碼

八【時(shí)間頻度】

  • 時(shí)間復(fù)雜度: O ( m ? n ) O(m * n) O(m?n), m 、 n m、n m、n分別為傳入數(shù)組的行數(shù)和列數(shù)
  • 空間復(fù)雜度: O ( m ? n ) O(m * n) O(m?n), m 、 n m、n m、n分別為傳入數(shù)組的行數(shù)和列數(shù)

九【代碼實(shí)現(xiàn)】

  1. Java語言版
class Solution {
    public int[][] matrixReshape(int[][] mat, int r, int c) {
        int m = mat.length;
        int n = mat[0].length;
        if(m * n != r * c){
            return mat;
        } 
        int[][] res = new int[r][c];
        for(int i = 0;i < m * n;i++){
            res[i / c][i % c] = mat[i / n][i % n];
        }
        return res;
    }
}
  1. C語言版
int** matrixReshape(int** mat, int matSize, int* matColSize, int r, int c, int* returnSize, int** returnColumnSizes)
{
    int m = matSize;
    int n = matColSize[0];
    if(m * n != r * c)
    {
        *returnSize = matSize;
        *returnColumnSizes = matColSize;
        return mat;
    }
    *returnSize = r;
    *returnColumnSizes = (int*)malloc(sizeof(int) * r);
    int** res = (int**)malloc(sizeof(int*) * r);
    for(int i = 0;i < r;i++)
    {
        (*returnColumnSizes)[i] = c;
        res[i] = (int*)malloc(sizeof(int) * c);
    }
    for(int i = 0;i < m * n;i++)
    {
        res[i / c][i % c] = mat[i / n][i % n];
    }
    return res;
}
  1. Python語言版
class Solution:
    def matrixReshape(self, mat: List[List[int]], r: int, c: int) -> List[List[int]]:
        m = len(mat)
        n = len(mat[0])
        if m * n != r * c:
            return mat
        res = [[0] * c for _ in range(r)]
        for i in range(0,m * n):
            res[i // c][i % c] = mat[i // n][i % n]
        return res
  1. C++語言版
class Solution {
public:
    vector<vector<int>> matrixReshape(vector<vector<int>>& mat, int r, int c) {
        int m = mat.size();
        int n = mat[0].size();
        if(m * n != r * c){
            return mat;
        }
        vector<vector<int>> res(r,vector<int>(c));
        for(int i = 0;i < m * n;i++){
            res[i / c][i % c] = mat[i / n][i % n];
        }
        return res;
    }
};

十【提交結(jié)果】

  1. Java語言版
    【LeetCode每日一題】——566.重塑矩陣,LeetCode,矩陣,算法,數(shù)據(jù)結(jié)構(gòu),LeetCode,566.重塑矩陣

  2. C語言版
    【LeetCode每日一題】——566.重塑矩陣,LeetCode,矩陣,算法,數(shù)據(jù)結(jié)構(gòu),LeetCode,566.重塑矩陣

  3. Python語言版
    【LeetCode每日一題】——566.重塑矩陣,LeetCode,矩陣,算法,數(shù)據(jù)結(jié)構(gòu),LeetCode,566.重塑矩陣

  4. C++語言版
    【LeetCode每日一題】——566.重塑矩陣,LeetCode,矩陣,算法,數(shù)據(jù)結(jié)構(gòu),LeetCode,566.重塑矩陣文章來源地址http://www.zghlxwxcb.cn/news/detail-624460.html

到了這里,關(guān)于【LeetCode每日一題】——566.重塑矩陣的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 二叉樹(中)+Leetcode每日一題——“數(shù)據(jù)結(jié)構(gòu)與算法”“劍指Offer55-I. 二叉樹的深度”“100.相同的樹”“965.單值二叉樹”

    二叉樹(中)+Leetcode每日一題——“數(shù)據(jù)結(jié)構(gòu)與算法”“劍指Offer55-I. 二叉樹的深度”“100.相同的樹”“965.單值二叉樹”

    各位CSDN的uu們你們好呀,今天繼續(xù)數(shù)據(jù)結(jié)構(gòu)與算法專欄中的二叉樹,下面,讓我們進(jìn)入二叉樹的世界吧?。?! 二叉樹(上)——“數(shù)據(jù)結(jié)構(gòu)與算法”_認(rèn)真學(xué)習(xí)的小雅蘭.的博客-CSDN博客 二叉樹鏈?zhǔn)浇Y(jié)構(gòu)的實(shí)現(xiàn) 二叉樹鏈?zhǔn)浇Y(jié)構(gòu)的實(shí)現(xiàn) 求二叉樹的高度 但是這種寫法有很大的問題

    2024年02月17日
    瀏覽(32)
  • ( 數(shù)組和矩陣) 766. 托普利茨矩陣 ——【Leetcode每日一題】

    ( 數(shù)組和矩陣) 766. 托普利茨矩陣 ——【Leetcode每日一題】

    難度:簡(jiǎn)單 給你一個(gè) m x n 的矩陣 matrix 。如果這個(gè)矩陣是托普利茨矩陣,返回 true ;否則,返回 false 。 如果矩陣上每一條由左上到右下的對(duì)角線上的元素都相同,那么這個(gè)矩陣是 托普利茨矩陣 。 示例 1: 輸入:matrix = [[1,2,3,4],[5,1,2,3],[9,5,1,2]] 輸出:true 解釋: 在上述矩陣

    2024年02月02日
    瀏覽(19)
  • 【LeetCode每日一題】——766.托普利茨矩陣

    【LeetCode每日一題】——766.托普利茨矩陣

    矩陣 簡(jiǎn)單 766.托普利茨矩陣 給你一個(gè) m x n 的矩陣 matrix 。如果這個(gè)矩陣是托普利茨矩陣,返回 true ;否則,返回 false 。 如果矩陣上每一條由左上到右下的對(duì)角線上的元素都相同,那么這個(gè)矩陣是 托普利茨矩陣 。 示例 1: 輸入:matrix = [[1,2,3,4],[5,1,2,3],[9,5,1,2]] 輸出:true 解釋

    2024年02月14日
    瀏覽(19)
  • LeetCode·每日一題·2679. 矩陣中的和·排序

    LeetCode·每日一題·2679. 矩陣中的和·排序

    作者:小迅 鏈接:https://leetcode.cn/problems/sum-in-a-matrix/solutions/2330084/pai-xu-zhu-shi-chao-ji-xiang-xi-by-xun-g-a3gw/ 來源:力扣(LeetCode) 著作權(quán)歸作者所有。商業(yè)轉(zhuǎn)載請(qǐng)聯(lián)系作者獲得授權(quán),非商業(yè)轉(zhuǎn)載請(qǐng)注明出處。 ? ? 題意 - 給定一個(gè)二維數(shù)組,每次取每一行的最大值構(gòu)成一列,在該列

    2024年02月12日
    瀏覽(19)
  • ( 數(shù)組和矩陣) 645. 錯(cuò)誤的集合 ——【Leetcode每日一題】

    ( 數(shù)組和矩陣) 645. 錯(cuò)誤的集合 ——【Leetcode每日一題】

    難度:簡(jiǎn)單 集合 s 包含從 1 到 n 的整數(shù)。不幸的是,因?yàn)閿?shù)據(jù)錯(cuò)誤,導(dǎo)致集合里面某一個(gè)數(shù)字復(fù)制了成了集合里面的另外一個(gè)數(shù)字的值,導(dǎo)致集合 丟失了一個(gè)數(shù)字 并且 有一個(gè)數(shù)字重復(fù) 。 給定一個(gè)數(shù)組 nums 代表了集合 S 發(fā)生錯(cuò)誤后的結(jié)果。 請(qǐng)你找出重復(fù)出現(xiàn)的整數(shù),再找到

    2024年02月04日
    瀏覽(22)
  • ( 數(shù)組和矩陣) 697. 數(shù)組的度 ——【Leetcode每日一題】

    ( 數(shù)組和矩陣) 697. 數(shù)組的度 ——【Leetcode每日一題】

    難度:簡(jiǎn)單 給定一個(gè)非空且只包含非負(fù)數(shù)的整數(shù)數(shù)組 nums ,數(shù)組的 度 的定義是指數(shù)組里任一元素出現(xiàn)頻數(shù)的最大值。 你的任務(wù)是在 nums 中找到與 nums 擁有相同大小的度的最短連續(xù)子數(shù)組,返回其長(zhǎng)度。 示例 1: 輸入:nums = [1,2,2,3,1] 輸出:2 解釋: 輸入數(shù)組的度是 2 ,因?yàn)?/p>

    2024年02月02日
    瀏覽(21)
  • 【LeetCode每日一題】——1572.矩陣對(duì)角線元素的和

    【LeetCode每日一題】——1572.矩陣對(duì)角線元素的和

    矩陣 簡(jiǎn)單 1572.矩陣對(duì)角線元素的和 給你一個(gè)正方形矩陣 mat,請(qǐng)你返回矩陣對(duì)角線元素的和。 請(qǐng)你返回在矩陣主對(duì)角線上的元素和副對(duì)角線上且不在主對(duì)角線上元素的和。 示例 1: 輸入:mat = [[1,2,3], ?????????????????????[4,5,6], ?????????????????????[7,

    2024年02月14日
    瀏覽(25)
  • 【LeetCode每日一題】——304.二維區(qū)域和檢索-矩陣不可變

    【LeetCode每日一題】——304.二維區(qū)域和檢索-矩陣不可變

    矩陣 中等 304.二維區(qū)域和檢索-矩陣不可變 給定一個(gè)二維矩陣 matrix,以下類型的多個(gè)請(qǐng)求: 計(jì)算其子矩形范圍內(nèi)元素的總和,該子矩陣的 左上角 為 (row1, col1) ,右下角 為 (row2, col2) 。 實(shí)現(xiàn) NumMatrix 類: NumMatrix(int[][] matrix) 給定整數(shù)矩陣 matrix 進(jìn)行初始化 int sumRegion(int row1, i

    2024年02月13日
    瀏覽(18)
  • Leetcode-每日一題【劍指 Offer 29. 順時(shí)針打印矩陣】

    Leetcode-每日一題【劍指 Offer 29. 順時(shí)針打印矩陣】

    輸入一個(gè)矩陣,按照從外向里以順時(shí)針的順序依次打印出每一個(gè)數(shù)字。 示例 1: 輸入: matrix = [[1,2,3],[4,5,6],[7,8,9]] 輸出: [1,2,3,6,9,8,7,4,5] 示例 2: 輸入: matrix =?[[1,2,3,4],[5,6,7,8],[9,10,11,12]] 輸出: [1,2,3,4,8,12,11,10,9,5,6,7] 限制: 0 = matrix.length = 100 0 = matrix[i].length?= 100 1.題目要求

    2024年02月13日
    瀏覽(27)
  • ( 數(shù)組和矩陣) 667. 優(yōu)美的排列 II ——【Leetcode每日一題】

    ( 數(shù)組和矩陣) 667. 優(yōu)美的排列 II ——【Leetcode每日一題】

    難度:中等 給你兩個(gè)整數(shù) n 和 k ,請(qǐng)你構(gòu)造一個(gè)答案列表 answer ,該列表應(yīng)當(dāng)包含從 1 到 n 的 n 個(gè)不同正整數(shù),并同時(shí)滿足下述條件: 假設(shè)該列表是 answer = [a1, a2, a3, ... , an] ,那么列表 [|a1 - a2|, |a2 - a3|, |a3 - a4|, ... , |an-1 - an|] 中應(yīng)該有且僅有 k 個(gè)不同整數(shù)。 返回列表 answer

    2024年02月06日
    瀏覽(19)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包