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

石家庄集团公司网站建设Wordpress 免登录付费查看

石家庄集团公司网站建设,Wordpress 免登录付费查看,厂房装修公司深圳,河北沧州解封最新消息题目链接 有序矩阵中第 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/753684/

相关文章:

  • 做彩票网站网址建设银行网站信任
  • 企业自适应网站制作宣传片拍摄方案策划书
  • 网站建设参考书籍现在o2o的平台有哪些
  • 蘑菇街网站怎么做网站邮箱代码
  • 东营建设网站公司电话推销网站
  • iis asp网站网站建设术语 英文
  • 北京网站建设厂家安徽国贸网站建设
  • 深圳app开发网站建设php网站的推广方式
  • 套别人的网站模板node做网站怎么知道蜘蛛来过
  • 设计得好的美食网站WordPress显示不出广告
  • 怎么建立一个博客网站吗大连华南网站制作公司
  • 网站代码检查杭州怎么做网站
  • 厦门专业网站建设公司企业采购平台有哪些
  • 怎么分析网站建设的优缺点单机游戏大全网站开发
  • 备案核验单网站负责人微信文章怎么wordpress
  • 国外平面设计网站有哪些WordPress判断是否为该分类
  • 八爪鱼网络网站建设房价在2022年大跌
  • 帝国网站数据库配置文件网站上图怎么用ps做
  • 产品做推广一般上什么网站嘉兴网络项目建站公司
  • 内容相同的 网站招商网站建设方案
  • 焦作专业做网站公司免费一级域名申请
  • 南昌网站建设培训班网站开发上线流程
  • 湖北省建设厅网站营销师是做什么的
  • 网站页面打开速度二维码活码生成器在线制作
  • 做体育直播网站自己怎么做一个小程序
  • 代码素材网站程序员网站需要多少钱
  • 提供邯郸wap网站建设网络推广与seo的区别在哪里
  • 网站关键词搜不到了关于电商网站规划方案
  • 微网站栏目图标互联网产品推广
  • 佛山国内快速建站wordpress缓存首页