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

Posted panweiwei

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了1351. 统计有序矩阵中的负数相关的知识,希望对你有一定的参考价值。

技术图片
技术图片
技术图片

方法一:二分查找。

class Solution(object):
    # 二分法
    def countNegatives(self, grid):
        """
        :type grid: List[List[int]]
        :rtype: int
        """
        ans = 0
        for nums in grid:
            if nums[0] < 0:
                ans += len(nums)
                continue
            if nums[-1] >= 0:
                continue
            i, j = 0, len(nums) - 1
            while i <= j:
                mid = int(i + (j - i) / 2)
                if nums[mid] >= 0:
                    i = mid + 1
                else:
                    j = mid - 1
            if nums[i] < 0:
                ans += len(nums) - i
        return ans

方法二:暴力解。

class Solution(object):
    def countNegatives(self, grid):
        """
        :type grid: List[List[int]]
        :rtype: int
        """
        ans = 0
        for i in range(len(grid)):
            if grid[i][0] < 0:
                ans += len(grid[i])
            else:
                for j in range(len(grid[i])):
                    if grid[i][j] < 0:
                        ans += 1
        return ans



以上是关于1351. 统计有序矩阵中的负数的主要内容,如果未能解决你的问题,请参考以下文章

⭐算法入门⭐《二分枚举》简单13 —— LeetCode 1351. 统计有序矩阵中的负数

LeeCode刷题1351-简单-统计有序矩阵中的负数

LeeCode刷题1351-简单-统计有序矩阵中的负数

面试刷题:计数排序矩阵中的负数 | 第44期

五月集训(第11天) —— 矩阵

(转) Java中的负数及基本类型的转型详解