九日集训 第十五轮 (第七讲) 二维数组

前言

记录几个面试常见题型

一、知识点

二位数组 ,在算法题中的调用 ** , 列的大小 , vector grid[0]

二、题目

1、1351 统计矩阵中的负数

1.1 分析
剪枝不用O(n^2)
1.2代码

class Solution {
   
public:
    int countNegatives(vector<vector<int>>& grid) {
   
        int rows = grid.size();
        int i = 0;
        int j = grid[0].size()-1;

        int res = 0;
        while (i < rows && j >= 0)
        {
   
            // 大于则增加一行,对应i增加,直到找到负数,那么此时 rows-i 数量就是对应负数的数量
            while (i < rows && grid[i][j] >= 0)
            {
   
                ++i;
            }
            res += rows - i;
            --j;
        }

        return res;
    }
};

2、矩阵对角线元素和
2.1题目分析
对角线小标有线性关系,
2.2代码

class Solution {
   
public:
    int diagonalSum(vector<vector<int>>& mat) {
   

你可能感兴趣的:(九日算法集训,c++)