力扣【598-区间加法】【数组-C语言】

题目:力扣-598

给你一个 m x n 的矩阵 M 和一个操作数组 ops 。矩阵初始化时所有的单元格都为 0 。opsi = ai, bi 意味着当所有的 0 <= x < ai 和 0 <= y < bi 时, Mxy 应该加 1。在 执行完所有操作后 ,计算并返回 矩阵中最大整数的个数 。

题目理解:自己初始化一个m*n阶元素全0的矩阵,而ops是一个二维数组,ops的每个元素是一个" int* "类型,它指向一个长度为2的一维数组的首元素,该一维数组中两个整型元素分别为x,y,并在矩阵M中找到0 ~ x行,0 ~ y列的所有元素增加1,每遍历一个ops元素(一维数组)就给矩阵M相应的行、列元素增加1。遍历操作结束,则计算矩阵M中最大元素的个数

cpp 复制代码
int maxCount(int m, int n, int** ops, int opsSize, int* opsColSize) {
    if(!opsSize) return m*n;
    //记录最大整数的行,列数
    int maxr=ops[0][0];
    int maxc=ops[0][1];
    //遍历ops矩阵
    for(int i=1;i<opsSize;i++){
        maxr=(maxr>ops[i][0])?ops[i][0]:maxr;
        maxc=(maxc>ops[i][1])?ops[i][1]:maxc;
    }
    return maxr*maxc;
}

时间复杂度:O(n),其中 n 是数组 ops 的长度。

空间复杂度:O(1)。

相关推荐
caimouse13 小时前
Reactos 第 5 章 进程与线程 — 5.1 概述
c语言·windows·架构
工业胶粘剂技术13 小时前
单组分高温环氧结构胶 K-EP280 完整技术参数与工程选型分析
算法·制造
学机械的鱼鱼13 小时前
一文读懂轮足翼复合机器人:结构特点与仿真学习路线规划
学习·机器人
知识分享小能手14 小时前
Hadoop学习教程,从入门到精通, 部署Hadoop 3.x — 知识点详解(2)
大数据·hadoop·学习
你疯了抱抱我14 小时前
【STM32】配置vscode+C工具链+Cortex-Debug开发环境,IC:STM32F411CEU6
c语言·vscode·stm32
星恒随风14 小时前
C++ 类和对象入门(三):拷贝构造、赋值运算符重载和深浅拷贝
开发语言·c++·笔记·学习
tedcloud12314 小时前
Understand-Anything部署教程:打造AI代码理解平台
服务器·人工智能·学习·自动化·powerpoint
FFZero114 小时前
[mpv脚本系统] (五) C层系统调用的实现: mpv client通信机制
c语言·音视频
小欣加油14 小时前
Leetcode31 下一个排列
数据结构·c++·算法·leetcode·职场和发展
逆光的July14 小时前
Logback 学习笔记
笔记·学习·logback