leetcode 1351

1351: 统计有序矩阵中的负数

利用 grid 行列有序的性质,把时间复杂度从 O(mn) 的暴力查找优化成 O(m+n)。

复制代码
class Solution {
public:
    int countNegatives(vector<vector<int>>& grid) {
        int m=grid.size(),n=grid[0].size();
        int ans=0;
        int i=0,j=n-1; //从右上角开始
        while(i<m && j>=0){
            if(grid[i][j]<0){
                ans+=m-i; //这一列剩余元素都是负数
                j--;
            }
            else i++; //这一行剩余元素全都非负,排除
        }
        return ans;
    }
};
相关推荐
2401_831824968 小时前
基于C++的区块链实现
开发语言·c++·算法
We་ct8 小时前
LeetCode 918. 环形子数组的最大和:两种解法详解
前端·数据结构·算法·leetcode·typescript·动态规划·取反
愣头不青8 小时前
238.除了自身以外数组的乘积
数据结构·算法
人工智能AI酱9 小时前
【AI深究】逻辑回归(Logistic Regression)全网最详细全流程详解与案例(附大量Python代码演示)| 数学原理、案例流程、代码演示及结果解读 | 决策边界、正则化、优缺点及工程建议
人工智能·python·算法·机器学习·ai·逻辑回归·正则化
WangLanguager9 小时前
逻辑回归(Logistic Regression)的详细介绍及Python代码示例
python·算法·逻辑回归
m0_518019489 小时前
C++与机器学习框架
开发语言·c++·算法
一段佳话^cyx9 小时前
详解逻辑回归(Logistic Regression):原理、推导、实现与实战
大数据·算法·机器学习·逻辑回归
qq_417695059 小时前
C++中的代理模式高级应用
开发语言·c++·算法
xiaoye-duck9 小时前
《算法题讲解指南:动态规划算法--路径问题》--5.不同路径,6.不同路径II
c++·算法·动态规划
ambition2024210 小时前
最大子数组和算法全解析:从暴力枚举到动态规划优化
数据结构·c++·算法