首页 > 其他分享 >矩阵 metrics

矩阵 metrics

时间:2023-06-08 09:56:47浏览次数:32  
标签:return int List 矩阵 metrics grid result row

1351. Count Negative Numbers in a Sorted Matrix Easy

Given a m x n matrix grid which is sorted in non-increasing order both row-wise and column-wise, return the number of negative numbers in grid.

 Example 1:

Input: grid = [[4,3,2,-1],[3,2,1,-1],[1,1,-1,-2],[-1,-1,-2,-3]]
Output: 8
Explanation: There are 8 negatives number in the matrix.

Example 2:

Input: grid = [[3,2],[1,0]]
Output: 0

 Constraints:

  • m == grid.length
  • n == grid[i].length
  • 1 <= m, n <= 100
  • -100 <= grid[i][j] <= 100

解法1: O(MN)

class Solution:
    def countNegatives(self, grid: List[List[int]]) -> int:
        count = 0
        def dfs(x, y):  
            if x < 0 or y < 0 or grid[x][y] >= 0:
                return
            nonlocal count
            count += 1
            grid[x][y] = 1
            dfs(x - 1, y)
            dfs(x, y - 1)
        m, n = len(grid), len(grid[0])
        dfs(m - 1, n - 1)
        return count

解法2:O(MlogN)

class Solution:
    def countNegatives(self, grid: List[List[int]]) -> int:
        def bs(row: List[int]):
            left, right = 0, len(row) - 1
            result = -1
            while left <= right:
                mid = left + (right - left) // 2
                if row[mid] >= 0:
                    left = mid + 1
                else:
                    result = mid
                    right = mid - 1
            return result
        total = 0
        for row in grid:
            pos = bs(row)
            if pos >= 0:
                total += len(row) - pos
        return total

解法3: O(M+N)

class Solution:
    def countNegatives(self, grid: List[List[int]]) -> int:
        m = len(grid[0])
        #定义最后一个不小于0的位置
        currPos = m - 1
        result = 0
        for row in grid:
            #如果小于0,那么向左移动。 
            #思考为什么要这样?因为整个矩阵是从左到右,从上到下递减的
            while currPos >= 0 and row[currPos] < 0:
                currPos -= 1
            result += m - currPos - 1
        return result

 

标签:return,int,List,矩阵,metrics,grid,result,row
From: https://www.cnblogs.com/cynrjy/p/17465324.html

相关文章

  • 【笔记】矩阵
    矩阵基础定义:数学意义上有更加严谨的矩阵定义,这里不过多展开,如有需要还请自行查询。由\(n\timesm\)个数排成\(n\)行\(m\)列,第\(i\)行\(j\)列的数记为\(a_{i,j}\)。我们称这\(n\timesm\)个数为矩阵\(A\)的元素,记作:\[A=\begin{bmatrix}&a_{1,1}&a_{1,2}&...&a_{1,m}&......
  • 数学:矩阵
    矩阵记号定义一个线性方程组包含的主要信息可以用一个称为矩阵的紧凑的矩形阵列表示。例如:x1-2x2+ x3=0    2x2-8x3=85x1    -5x3=10尺寸矩阵的尺寸说明它包含的行数和列数3x4(读作3行4列)系数矩阵如果一个矩阵,只是方程组中变量的系数,我们称它为方......
  • 图的邻接矩阵
    #include<stdio.h>#include<stdlib.h>#defineN20#defineTRUE1#defineFALSE0//访问标志数组intvisited[N];//采用数组定义的队列,用于广度搜索typedefstruct{ intdata[N]; intfront,rear;}SqQueue;//图的邻接矩阵表示typedefstruct{ intvexnum,ar......
  • LED数显驱动芯片VK1S68C 10*2矩阵按键,支持多键同时按下
    产品品牌:永嘉微电/VINKA产品型号:VK1S68C封装形式:SSOP24产品年份:新年份概述:VK1S68C是一种带键盘扫描接口的数码管或点阵LED驱动控制专用芯片,内部集成有3线串行接口、数据锁存器、LED驱动、键盘扫描等电路。SEG脚接LED阳极,GRID脚接LED阴极,可支持13SEGx4GRID、12SEGx5GRID、11S......
  • 2022-2023 春学期 矩阵与数值分析 C6 插值函数的应用
    2022-2023春学期矩阵与数值分析C6插值函数的应用原文C6插值函数的应用6.1插值型求积公式数值型求积公式用于解决难以找到原函数的积分问题问题描述:设\(f(x)\)是定义在\([a,b]\)上的可积函数,考虑带权积分\[I(f)=\int^b_a\rho(x)f(x)dx\]其中权函数\(\rho(x)\)......
  • 矩阵正定和半正定的概念
    正定矩阵:给定一个大小为  的实对称矩阵  ,若对于任意长度为  的非零向量  ,有  恒成立,则矩阵  是一个正定矩阵。单位矩阵 就是一个正定矩阵半正定矩阵:给定一个大小为  的实对称矩阵  ,若对于任意长度为  的向量  ,有  恒成立,则矩阵  是一个半正定矩阵。 ......
  • 类GeometricShapeFactory-JTS几何图形绘制API
    org.locationtech.jts.util类GeometricShapeFactoryjava.lang.Objectorg.locationtech.jts.util.GeometricShapeFactory直接已知子类:正弦之星工厂公共类GeometricShapeFactory扩展Object计算各种常见的几何形状。提供各种方法来指定所生成形状的位置,范围和旋转,以及用于形成它们......
  • 最小二乘法的矩阵正则化改进——“岭回归”和“LASSO回归”算法
    看代码过程中发现了一个很奇怪的概念,叫做“最小二乘法的矩阵正则化”,这个词汇十分的陌生,虽然最小二乘法是知道的,但是用了矩阵正则化的最小二乘法是个什么东西呢?  相关代码见:强化学习:连续控制问题中Actor-Critic算法的linearbaseline  后来在网上一通查才知道,原来“最小二乘法......
  • LeetCode.螺旋矩阵问题
    LeetCode54螺旋矩阵思路就是说,给我们一个二维数组,然后我们需要按顺时针的顺序遍历二维数组,然后把每一个遍历到的数据放到一个一维数组中,最后返回这个一维数组。思路很简单,关键是怎么控制让他顺时针去访问,什么时候向下走什么时候向左走,什么时候向右走等问题如图分析:但是......
  • 非监督异常点检测算法总结——没有想到矩阵分解和编码解码器也是一种思路
    非监督异常点检测算法总结 一、基于密度1) d(p,o):两点p和o之间的距离;2)k-distance:第k距离 对于点p的第k距离dk(p)定义如下:p的第k距离,也就是距离p第k远的点的距离,如图。  3)k-distanceneighborhoodofp:第k距离邻域 点p的第k距离邻域Nk(p),就是p的第k距离即以内的所有点,包括......