每行二分

class Solution {public int countNegatives(int[][] grid) {int row=grid.length;int col=grid[0].length;int cot=0;for(int i=0;i<row;i++){if(grid[i][col-1]>=0) continue;if(grid[i][0]<0){cot+=col;continue;}//两个小剪枝//二分要找到每行第一个>=0的数int left=0;int right=col-1;while(left<=right){int mid=left+(right-left)/2;if(grid[i][mid]<0){if(mid>=1&&grid[i][mid-1]>=0){cot+=col-mid;break;                        }if(mid>=1&&grid[i][mid-1]<0){right=mid-1;}}else{left=mid+1;}}}return cot;}
}

看题解受启发,可以每次二分的时候,右边界可以参考上一行的mid。
如下面. 第一行的-5(mid),它后面的数全是负数,那么下一行的也是。
8下面的正负未知。此位置不能确定为二分的右边界

10  9   8  -5   -9
9   8  -5  -9   -10
class Solution {public int countNegatives(int[][] grid) {int row=grid.length;int col=grid[0].length;int cot=0;int pox=col-1;for(int i=0;i<row;i++){if(grid[i][col-1]>=0) continue;if(grid[i][0]<0){cot+=col;continue;}int left=0;int right=pox;while(left<=right){int mid=left+(right-left)/2;if(grid[i][mid]<0){if(mid>=1&&grid[i][mid-1]>=0){cot+=col-mid;pox=mid;break;                        }if(mid>=1&&grid[i][mid-1]<0){right=mid-1;}}else{left=mid+1;}}}return cot;}
}

1351.统计有序矩阵中的负数相关推荐

  1. leetcode1351. 统计有序矩阵中的负数(二分查找)

    给你一个 m * n 的矩阵 grid,矩阵中的元素无论是按行还是按列,都以非递增顺序排列. 请你统计并返回 grid 中 负数 的数目. 示例 1: 输入:grid = [[4,3,2,-1],[3 ...

  2. [leetcode]5340. 统计有序矩阵中的负数

    class Solution {public:int countNegatives(vector<vector<int>>& grid) {int res = 0;fo ...

  3. 378. 有序矩阵中第K小的元素

    2020-05-25 1.题目描述 有序矩阵中第K小的元素 2.题解 1.优先队列 2.使用二分查找 class Solution { public:int kthSmallest(vector< ...

  4. python n个list如何组成矩阵_有序矩阵中第K小的元素amp;x的平方根(二分法篇)

    69. x的平方根 题目描述: 实现 int sqrt(int x) 函数. 计算并返回 x 的平方根,其中 x 是非负整数. 由于返回类型是整数,结果只保留整数的部分,小数部分将被舍去. 示例1: ...

  5. leetcode378. 有序矩阵中第 K 小的元素

    378. 有序矩阵中第 K 小的元素 给你一个 n x n 矩阵 matrix ,其中每行和每列元素均按升序排序,找到矩阵中第 k 小的元素. 请注意,它是 排序后 的第 k 小元素,而不是第 k 个 ...

  6. [leetcode]378. 有序矩阵中第 K 小的元素

    378. 有序矩阵中第 K 小的元素 题目链接 思路分析 代码实现 题目链接 378. 有序矩阵中第 K 小的元素 思路分析 题目中又一次提到了有序,就能够猜想能够使用二分法 那么如果要使用二分的话, ...

  7. 【LeetCode 剑指offer刷题】矩阵题1:4 有序矩阵中的查找( 74. Search a 2D Matrix )(系列)...

    [LeetCode & 剑指offer 刷题笔记]目录(持续更新中...) 74. Search a 2D Matrix Write an efficient algorithm that s ...

  8. Leetcode刷题100天—378. 有序矩阵中第 K 小的元素(优先队列)—day16

    前言: 作者:神的孩子在歌唱 大家好,我叫运智 给你一个 n x n 矩阵 matrix ,其中每行和每列元素均按升序排序,找到矩阵中第 k 小的元素. 请注意,它是 排序后 的第 k 小元素,而不是 ...

  9. leetcode378. 有序矩阵中第K小的元素(Python3)

    文章目录 leetcode378. 有序矩阵中第K小的元素 方法一:直接排序 思路: 代码: 结果: 方法二:二分查找 思路: 代码: 结果: leetcode378. 有序矩阵中第K小的元素 给定一 ...

最新文章

  1. python tensorflow教程推荐_TensorFlow教程和文章推荐大全 -DZone AI
  2. python面向对象编程(封装与继承)
  3. leetcode 141. Linked List Cycle
  4. http 使用curl发起https请求
  5. 安卓最好的浏览器_Wow!来自印度的操作系统,Prime OS X86安卓体验
  6. 对理想团队模式的构想以及对软件流程的理解
  7. 连接动态链接库时找不到链接库的解决办法
  8. 手机屏幕镜像翻转软件_iPhone拍出来的视频倒过来了怎么办?这个系统自带工具全搞定,它还有更多神奇绝技!...
  9. 我的世界1.16.1java模组怎么加,我的世界1.16(minecraft1.16)全新模组推荐
  10. 硬件基础:嵌入式软件可靠性设计要注意的问题
  11. 百度地图如何准确定位?注意surroundingPois
  12. 帝国时代2决定版多人游戏服务器维护,帝国时代2决定版怎么在多人模式中玩战役 多人战役方法一览_游侠网...
  13. 关于wordcloud安装
  14. ZbxTable 2.1 重磅发布!周四直播分享
  15. node 项目打包工具ncc
  16. 【后端检测-绕过】文件头检测绕过、二次渲染绕过
  17. 深入浅出工控机加固的那点事
  18. HTML期末作业~个人信息展示网站响应式模板(HTML+CSS+JavaScript)
  19. (信贷风控七)申请评分卡模型Python实现(图文+代码实现)
  20. 行转列逗号隔开逗号隔开列转行

热门文章

  1. 一个用于styleGAN图像处理的编码器
  2. 【OpenCV 4开发详解】Sobel算子
  3. 1003 我要通过! (20point(s))
  4. 【从蛋壳到满天飞】JS 数据结构解析和算法实现-AVL树(一)
  5. 用css打印html
  6. hadoop 集群开启之后datanode没有启动问题
  7. 正则表达式(javascript)
  8. ORACLE HANDBOOK系列之十四:变化通知(Change Notification)
  9. 设计模式----单件模式(c++)
  10. 软件外包是中国程序员的大金矿,大家一起来挣×××吧