leetcode 1351 統計有序矩陣中的負數

2021-10-07 14:25:06 字數 933 閱讀 8028

1351. 統計有序矩陣中的負數

難度簡單28

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

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

示例 1:

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

輸入:grid = [[3,2],[1,0]]輸出:0
示例 3:

輸入:grid = [[1,-1],[-1,-1]]輸出:3
示例 4:

輸入:grid = [[-1]]輸出:1
class solution:

def countnegatives(self, grid: list[list[int]]) -> int:

total = 0

i , j = 0,len(grid[0])-1

while i=0:

if grid[i][j]>=0:

i+=1

else:

total=total+len(grid)-i

j-=1

return total

leetcode 1351 統計有序矩陣中的負數

該題目可以分解為求一維陣列中比0小的數的個數,和 荷蘭國旗 類似。但是更加簡單,因為次數一維陣列是有序的。因為陣列是遞減排列,所以從後向前迴圈比較好 根據題目規則 從右上角開始搜尋 例如二維陣列 4 3 2 1 3 2 1 1 1 1 1 2 1 1 2 3 觀察可以得出規律如果乙個位置為負數,那麼...

1351 統計有序矩陣中的負數

兩個小剪枝 二分要找到每行第乙個 0的數 int left 0 int right col 1 while left right if mid 1 grid i mid 1 0 else return cot 看題解受啟發,可以每次二分的時候,右邊界可以參考上一行的mid。如下面.第一行的 5 mi...

1351 統計有序矩陣中的負數 簡單

題目 於力扣 leetcode 目錄三 實現 四 執行用時 五 部分測試用例 1351.統計有序矩陣中的負數 說明 據題意 矩陣元素無論是按行還是按列,都以非遞增順序排列。遍歷矩陣,再每次遍歷乙個一維陣列 判斷當前一維陣列中的元素是否為負數 為負數時,即其後的元素也必定為負數,則該陣列中負數的個數為...