《LeetCode零基础指南》(第八讲) 二维数组

轩逸学习中 2021-12-07 20:39:07
加精

二维数组(矩阵)

二维数组 等同于 一维数组中的每一个元素为一个一维数组。

二维数组传参 **

第一题:1351. 统计有序矩阵中的负数

int countNegatives(int** grid, int gridSize, int* gridColSize){
    int i, j, ans = 0;              
    int r = gridSize;
    int c = gridColSize[0];
    for(i = 0; i < r; ++i) {
        for(j = 0; j < c; ++j) {
            if(grid[i][j] < 0) {
                ++ans;
            } 
        }
    }
    return ans;
}

 第二题:1572. 矩阵对角线元素的和

int diagonalSum(int** mat, int matSize, int* matColSize){
    int r = matSize;
    int c = matColSize[0];
    int i;
    int ans = 0;
    for(i = 0; i < r; ++i) {
        ans += mat[i][i];
    }
    for(i = 0; i < r; ++i) {
        if(r-i-1 != i) {
            ans += mat[i][r-i-1];
        }
    }
    return ans;
}

 第三题:1672. 最富有客户的资产总量

int maximumWealth(int** accounts, int accountsSize, int* accountsColSize){
    int i, j;
    int maxv = -1, maxIdx, sumv;
    for(i = 0; i < accountsSize; ++i) {
        sumv = 0;
        for(j = 0; j < *accountsColSize; ++j) {
            sumv += accounts[i][j];
        }
        if(sumv > maxv) {
            maxv = sumv;
            maxIdx = i;
        }
    }
    return maxv;
}

 第四题:766. 托普利茨矩阵

int checkSame(int** matrix, int sr, int sc, int maxr, int maxc) {
    int step = 0;
    while(1) {
        if(sr + step >= maxr) {
            break;
        }
        if(sc + step >= maxc) {
            break;
        }
        if(matrix[sr+step][sc+step] != matrix[sr][sc]) {
            return false;
        }
        ++step;
    }
    return true;
}

bool isToeplitzMatrix(int** matrix, int matrixSize, int* matrixColSize){
    int r = matrixSize;
    int c = matrixColSize[0];
    int i;
    for(i = 0; i < c; ++i) {
        if( !checkSame(matrix, 0, i, r, c) ) {
            return false;  
        }        
    }
    for(i = 0; i < r; ++i) {
        if( !checkSame(matrix, i, 0, r, c) ) {
            return false;
        }    
    }
    return true;
}
...全文
130 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

64,199

社区成员

发帖
与我相关
我的任务
社区描述
学习「 算法 」的捷径就是 「 题海战略 」,社区由「 夜深人静写算法 」作者创建,三年ACM经验,校集训队队长,亚洲区域赛金牌,世界总决赛选手。社区提供系统的训练,答疑解惑,面试经验,大厂内推等机会
社区管理员
  • 英雄哪里出来
  • 芝麻粒儿
  • Amy卜bo皮
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

QQ群:480072171

英雄算法交流 8 群

 

试试用AI创作助手写篇文章吧