统计有序矩阵中的负数

embedded/2025/3/4 22:52:56/

题目链接

统计有序矩阵中的负数

题目描述

注意点

  • 1 <= m, n <= 100
  • -100 <= grid[i][j] <= 100
  • 矩阵中的元素无论是按行还是按列,都以非严格递减顺序排列

解答思路

  • 第一种思路是遍历每一行,再对每行进行二分查找找到每一行第一个负数的位置,求得该行负数的数量,将每一行的结果相加即可
  • 因为矩阵中的元素无论是按行还是按列,都以非严格递减顺序排列。所以在找到某一行最后一个正数的位置preCol后(此时该行的负数数量为n - preCol - 1),且下一行preCol之后的元素肯定都是负数(按行递减),所以下一行只需要从preCol开始往前遍历,继续找到下一行最后一个整数的列即可,以此类推,找到每一行的负数数量相加即可

代码

java">class Solution {public int countNegatives(int[][] grid) {int res = 0;int m = grid.length;int n = grid[0].length;// 上一行最后一个正数的列int preCol = n - 1;for (int i = 0; i < m; i++) {while (preCol >= 0 && grid[i][preCol] < 0) {preCol--;}res += n - preCol - 1;}return res;}
}

关键点

  • 二分查找的思想
  • 利用好矩阵中的元素无论是按行还是按列,都以非严格递减顺序排列的规律

http://www.ppmy.cn/embedded/170025.html

相关文章

探秘基带算法:从原理到5G时代的通信变革【四】Polar 编解码(一)

文章目录 2.3 Polar 编解码2.3.1 Polar 码简介与发展背景2.3.2 信道极化理论基础对称容量与巴氏参数对称容量 I ( W ) I(W) I(W)巴氏参数 Z ( W ) Z(W) Z(W)常见信道信道联合信道分裂信道极化 本博客为系列博客&#xff0c;主要讲解各基带算法的原理与应用&#xff0c;包括&…

以太坊基金会换帅,资本市场砸盘

Vitalik力挺Aya升任EF主席&#xff0c;理想主义冬日发芽&#xff1f; 作者&#xff1a;Wenser&#xff1b;编辑&#xff1a;秦晓峰 出品 | Odaily星球日报&#xff08;ID&#xff1a;o-daily&#xff09; 2 月 27 日&#xff0c;Bybit 15 亿资金被盗事件的最新调查结果将以太坊…

企业数据挖掘建模平台哪家好?

在企业数字化转型中&#xff0c;数据建模是实现数据驱动决策的重要步骤。选择一个强大的数据建模平台&#xff0c;能够帮助企业高效地整合和分析数据&#xff0c;提供深刻的业务洞察。泰迪Tipdm数据挖掘建模平台以其强大的功能和灵活性&#xff0c;受不少企业的青睐。 数据挖掘…

【PCIE737】基于全高PCIe x8总线的KU115 FPGA高性能硬件加速卡

产品概述 PCIE737是一款基于PCIE总线架构的KU115 FPGA的12路光纤通道处理平台&#xff0c;该板卡具有1个PCIe Gen3x8主机接口、3个QSFP 40G光纤接口&#xff0c;可以实现3路QSFP 40G光纤的数据实时采集、实时缓存与PCIE高速传输。 该板卡采用Xilinx的高性能Kintex UltraScal…

JAVA面经2

ConcurrentHashMap 并发程序出现问题的根本原因 线程池 线程池的执行原理&#xff08;核心参数&#xff09; 线程池的常见阻塞队列 ArrayBlockingQueue插入和删除数据&#xff0c;只采用了一个lock&#xff0c;而LinkedBlockingQueue则是在插入和删除分别采用了putLock和takeL…

C++20 标准化有符号整数:迈向更可预测的整数运算

文章目录 一、背景&#xff1a;为什么需要标准化&#xff1f;二、2 的补码&#xff1a;原理与优势&#xff08;一&#xff09;2 的补码原理&#xff08;二&#xff09;2 的补码的优势 三、C20 的变化&#xff1a;明确 2 的补码四、如何利用这一特性优化代码&#xff08;一&…

私有化部署DeepSeek并SpringBoot集成使用(附UI界面使用教程-支持语音、图片)

私有化部署DeepSeek并SpringBoot集成使用&#xff08;附UI界面使用教程-支持语音、图片&#xff09; windows部署ollama Ollama 是一个开源框架&#xff0c;专为在本地机器上便捷部署和运行大型语言模型&#xff08;LLM&#xff09;而设计 下载ollama 下载地址&#xff08;…

探秘基带算法:从原理到5G时代的通信变革【二】Viterbi解码

文章目录 二、关键算法原理剖析2.1 Viterbi 解码2.1.1 卷积码与网格图基础**卷积码****网格图****生成多项式****理想情况下解码过程** 2.1.2 Viterbi 算法核心思想2.1.3 路径度量与状态转移机制2.1.4 算法流程与关键步骤详解2.1.5 译码算法举例与复杂度分析2.1.6 算法代码示例…