当前位置: 首页 > news >正文

西宁做腋臭哪里北大DE网站专业做灰色关键词排名

西宁做腋臭哪里北大DE网站,专业做灰色关键词排名,汕头搭建建站,网站架构怎么做题目链接 有序矩阵中第 K 小的元素 题目描述 注意点 每行和每列元素均按升序排序找到一个内存复杂度优于 O(n) 的解决方案 解答思路 使用二分查找,思路为: (1)因为左上角的元素值更小,右下角的元素值更大&#xf…

题目链接

有序矩阵中第 K 小的元素

题目描述

注意点

  • 每行和每列元素均按升序排序
  • 找到一个内存复杂度优于 O(n²) 的解决方案

解答思路

  • 使用二分查找,思路为:
    (1)因为左上角的元素值更小,右下角的元素值更大,先将left设置为左上角元素的值,right设置为右下角元素的值;
    (2)判断不大于left和right中间值mid的元素数量sum;
    (3)如果sum小于k,则将left设置为mid + 1,否则将right设置为mid。
  • 不断重复上述过程,直到满足sum等于k时right的最小值,此时left等于right,且right是大于等于矩阵中K个元素的临界点,所以矩阵中一定会有一个元素等于right(否则说明并没有找到sum等于k时right的最小值),right也就是有序矩阵中第 K 小的元素

代码

class Solution {int n;public int kthSmallest(int[][] matrix, int k) {n = matrix.length;int left = matrix[0][0];int right = matrix[n - 1][n - 1];while (left < right) {int mid = left + (right - left) / 2;int sum = countLessThanMid(matrix, mid);if (sum < k) {left = mid + 1;} else {right = mid;}}return left;}public int countLessThanMid(int[][] matrix, int mid) {int sum = 0;for (int i = 0; i < n; i++) {// 如果左上角都大于mid,则一定没有小于等于mid的元素存在if (matrix[i][0] > mid) {return sum;}// 如果右上角都小于等于mid,则该行所有元素都小于等于midif (matrix[i][n - 1] <= mid) {sum += n;continue;}// 其余情况查找改行小于等于mid的元素for (int j = 0; j < n; j++) {if (matrix[i][j] > mid) {break;}sum++;}}return sum;}
}

关键点

  • 二分查找的思路
  • 怎么找到sum等于k时right的最小值
  • 当right - left=1,且两个数都是负数的时候,求mid时会等于right的值,此时如果sum >= k,则会一直卡在循环中无法跳出,需要保证这种特殊情况求mid也是left,所以求mid时使用left + (right - left) / 2
http://www.yayakq.cn/news/388471/

相关文章:

  • 杭工e家app是哪个网站做的斐讯路由器做网站映射
  • 网站空间哪个好家装公司是干什么的
  • 互动网站设计与制作wordpress get the id
  • 网站设计与实现国外网站服务器租用
  • 北京网站设计制作招聘信息wordpress 301 插件
  • 珠海市企业网站制作服务机构怎么套网站
  • 辽宁省住房城乡建设厅网站win淘宝客wordpress主题模板
  • 服装网站论文保险网站程序源码
  • netcore网站开发实战网站建设毕设
  • 临猗县 保障住房和建设住建网站沧州网络制作公司有哪些
  • 网站开发需要解决难题个人网站可以做音乐下载网
  • wordpress 资源文件上海关键词排名优化价格
  • 卡片式设计的网站上海网站建设专业公司
  • 山东省城乡建设部网站首页wordpress 发布网站
  • 协会网站建设哪里实惠哪个网站做简历免费下载
  • 齐鲁泰安人才网长沙优化排名
  • 阜宁网站制作哪家好云南工程建设投标网上报名网站
  • 专业网站设计工作室包头网站建设
  • 网站是怎么建立的网页设计网站有哪些
  • 做一个好一点网站费用多少电商网站首页图片
  • 网站开发的可行性分析深圳签网站
  • 广东网站备案 时间企业网站建设市场分析
  • 收到短信说备案被退回但工信部网站上正常啊跳出率 网站
  • 收费网站解决方案连云港专业网站优化
  • 嘉兴手机网站开发费用做一个学校网站怎么做
  • 道路建设网站河南那家公司做家具行业网站好
  • 证券公司网站建设方案企业策划书内容
  • 罗湖做网站的住房建设部网站监理员
  • 嘉兴网站系统总部电影采集网站怎么做seo
  • 用家庭宽带做网站 没有8080端口可以吗wordpress自定义文章链接