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

题目:力扣-598

给你一个 m x n 的矩阵 M 和一个操作数组 ops 。矩阵初始化时所有的单元格都为 0 。ops[i] = [ai, bi] 意味着当所有的 0 <= x < ai 和 0 <= y < bi 时, M[x][y] 应该加 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)。

相关推荐
q***518914 分钟前
【语义分割】12个主流算法架构介绍、数据集推荐、总结、挑战和未来发展
算法·架构
Ghost-Silver28 分钟前
《星火》——关于Deepseek的进化速度
笔记·算法
雍凉明月夜1 小时前
视觉opencv学习笔记Ⅲ
笔记·opencv·学习
组合缺一1 小时前
Solon AI 开发学习6 - chat - 两种 http 流式输入输出
python·学习·http
云雾J视界1 小时前
从位运算到状态机:用纯C重构红外/DS18B20/I²C协议,告别“黑盒库“的嵌入式实战指南
c语言·数据库·重构
陈天伟教授1 小时前
机器学习方法(4)强化学习(试错学习)
人工智能·学习·机器学习
代码游侠4 小时前
日历的各种C语言实现方法
c语言·开发语言·学习·算法
春日见8 小时前
丝滑快速拓展随机树 S-RRT(Smoothly RRT)算法核心原理与完整流程
人工智能·算法·机器学习·路径规划算法·s-rrt
Code小翊8 小时前
”回调“高级
算法·青少年编程
云里雾里!8 小时前
力扣 977. 有序数组的平方:双指针法的优雅解法
算法·leetcode·职场和发展