1351 統計有序矩陣中的負數

2021-10-07 10:36:44 字數 733 閱讀 9404

//兩個小剪枝

//二分要找到每行第乙個》=0的數

int left=0;

int right=col-1;

while

(left<=right)

if(mid>=1&&grid[i]

[mid-1]

<0)

}else}}

return cot;

}}看題解受啟發,可以每次二分的時候,右邊界可以參考上一行的mid。

如下面. 第一行的-5(mid),它後面的數全是負數,那麼下一行的也是。

8下面的正負未知。此位置不能確定為二分的右邊界

10  9   8  -5   -9

9 8 -5 -9 -10

class solution 

int left=0;

int right=pox;

while

(left<=right)

if(mid>=1&&grid[i]

[mid-1]

<0)

}else}}

return cot;

}}

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

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

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

力扣刷題 給你乙個 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...

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

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