1. 程式人生 > 其它 >LeetCode題解:統計有序矩陣中的負數

LeetCode題解:統計有序矩陣中的負數

技術標籤:【演算法與資料結構】# 解題思想:二分法# 彙總:LeetCode題解LeetCode統計有序矩陣中的負數資料結構題解演算法

統計有序矩陣中的負數

一、題目

給你一個 m * n 的矩陣 grid,矩陣中的元素無論是按行還是按列,都以非遞增順序排列。

請你統計並返回 grid 中 負數 的數目。

示例:

輸入:grid = [[4,3,2,-1],[3,2,1,-1],[1,1,-1,-2],[-1,-1,-2,-3]]
輸出:8
解釋:矩陣中共有 8 個負數。

二、題解

/**
 * @param {number[][]} grid
 * @return {number}
 */
var countNegatives = function(grid) { // 本題提前宣告,不存在空陣列情況 let rows = grid.length; // 行 let cols = grid[0].length; // 列 let row = 0; let col = cols - 1; let res = 0; while (row < rows && col >= 0) { // 一次排除一列或一行 if (grid[row][col] >= 0) { row++; // 這一行判斷完畢 } else { res +=
grid.length - row; // 注意這是記錄的是豎列負數的個數 col--; // 這一列判斷完畢 } } return res; };

三、寫在最後

本文是附加題,可能僅僅藉助了二分思想中的一部分,加油!

如果對你有所幫助不妨給本專案的github 點個 star,這是對我最大的鼓勵

關於我

  • 花名:餘光
  • WX:j565017805
  • 沉迷 JS,水平有限,虛心學習中

其他沉澱