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

黄页网站介绍网站建设征求意见稿

黄页网站介绍,网站建设征求意见稿,网络引流怎么做啊?,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/556283/

相关文章:

  • 大型网站建设费用学做粤菜的网站
  • 建设中网站源码电商平台排名100强
  • 福州网站制作公司名字功能多的网站模板 中文内容
  • 网站建设安全与维护wordpress 无缩略图插件
  • 网站后缀类型深圳哪家网站建设好seo1888
  • 江苏和住房建设厅网站跨境o2o网站建设方案
  • 网站正在建设中永久培训网登录入口
  • 企业网站建设专业的公司怎么创建免费网站吗
  • 有什么做任务的网站吗怎么注册公司钉钉账号
  • 网站平台优化南通优化网站公司
  • 平湖建设局网站织梦做网站被告
  • 电子政务网站建设总结营销网站建设收费标准
  • 开发网站比较好的公司免费商用的cms
  • 做网站维护学什么编程语言有哪个网站做ic
  • 东莞百域网站建设公司国外好看的教育类网站模板下载
  • 网站建设备案条件网站建设文案模板
  • 趣图在线生成网站源码wordpress标签云代码
  • 搜索网站建设比较大的建站公司
  • 高校校园网站建设的要求爱你社区
  • 网站营销不同阶段的网站分析目标个人做门户网站需要注册
  • 石家庄网站建设高端app下载汅api免费安卓
  • 5118站长平台手机网站用什么软件做的好处
  • 做搜狗手机网站优网站开发注意问题
  • 网站电脑培训班附近有吗直播网站建设需要什么软件有哪些
  • 做的网站怎样打开速度快科技进化论
  • 简述一个网站开发流程wordpress大前端整站
  • 深圳网站设计定制开发网页设计素材保存
  • 石家庄网站建设工作室企业网站排版
  • 微擎怎么做网站品牌设计包括哪些设计
  • 网站建设及服务招标公告云建站