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

东莞+网站+建设+汽车长沙市网站制作哪家专业

东莞+网站+建设+汽车,长沙市网站制作哪家专业,如何做一个自己的app,上海网站建设caiyiduo题目信息 LeetoCode地址: . - 力扣#xff08;LeetCode#xff09; 题解内容大量转载于#xff1a;. - 力扣#xff08;LeetCode#xff09; 题目理解 题意很直观#xff0c;就是求二维矩阵中所有元素排序后第k小的数。 最小堆写法 该写法不再赘述#xff0c;维护…题目信息 LeetoCode地址: . - 力扣LeetCode 题解内容大量转载于. - 力扣LeetCode 题目理解 题意很直观就是求二维矩阵中所有元素排序后第k小的数。 最小堆写法 该写法不再赘述维护一个大小为k的小顶堆遍历矩阵所有元素进行入堆操作。 时间复杂度:O(nlogk) 空间复杂度:O(k) class Solution {public int kthSmallest(int[][] matrix, int k) {PriorityQueueInteger heap new PriorityQueue((a,b) - (int)b-(int)a);for (int i 0; imatrix.length; i) {for (int j 0; jmatrix[0].length;j) {if (heap.size() k) {heap.offer(matrix[i][j]);} else if (matrix[i][j] heap.peek()) {heap.poll();heap.offer(matrix[i][j]);}}}return heap.peek();} } 二分写法 由于矩阵在行和列上都是有序的因此左上角的元素matrix[0][0]一定是最小的右下角的元素matrix[n-1][n-1]一定是最大的。这两个元素我们分别记为l 和 r. 以下图为例: 可以发现 任取一个数mid满足lmidr, 那么矩阵中不大于mid的数肯定都分布在矩阵的左上角。 例如下图, 取mid8: 我们可以看出矩阵中大于mid的数和不大于mid的数分别形成了两个版本沿着一条锯齿线将这个矩形分隔开。其中左上角板块的大小即为不大于mid的数的数量。 我们只需沿着这条锯齿线走一遍即可计算出这两个板块的大小自然就统计出这个矩阵中不大于mid的数的个数了。 同样以mid8举例走法如下: 走法可以总结如下: 初始位置在matrix[n-1][0] (即左下角);设当前位置为matrix[i][j], 若matrix[i][j] mid, 则将当前所在列的不大于mid的数的数量(即i1)累加到答案中并向右移动否则向上移动;不断移动直到走出格子为止。 可以发现这样的走法时间复杂度为O(n),即我们可以线性的计算对于任意一个mid,矩阵中有多少数不大于它。这满足了二分查找的性质。 不妨设答案为x, 那么可以直到lxr, 这样就确定了二分查找的上下界。 对于每次猜测的答案mid, 计算矩阵中有多少数不大于 mid: 如果数量不少于k, 那么说明最终答案不大于mid;如果数量小于k, 那么说明最终答案大于mid. 这样我们就可以计算出最终的结果x了。 时间复杂度: O(nlogn) 额外空间复杂度: O(1) class Solution {public int kthSmallest(int[][] matrix, int k) {int h matrix.length, w matrix[0].length;int l matrix[0][0], r matrix[h-1][w-1];while (l r) {int mid l (r-l)/2;if (check(matrix, mid, k)) {r mid;} else {l mid1;}}return l;}public boolean check(int[][] matrix,int mid, int k) {int i matrix.length-1, j 0;int count 0;while (i 0 j matrix[0].length) {if (matrix[i][j] mid) {count i1;j;} else {i--;}}return count k; } }
http://www.hkea.cn/news/14409013/

相关文章:

  • 网站详情页用哪个软件做先有域名才可以做网站吗
  • 可以自己做网站优化吗百度云网页版登录入口
  • 辽阳建网站接私活做网站设计
  • wordpress 内容 只调图片大小西安百度提升优化
  • 网站开发的文献铜川北京网站建设
  • 宁波市节约型机关建设考试网站wordpress 个人写作
  • 建设网站的目的及功能wordpress经典编辑器插件
  • 网站系统中备案申请表女装小说WordPress
  • 网站流量排名网站排名软件 利搜
  • 都匀网站建设公司wordpress 用户上传文件
  • 合肥制作网站的公司apache搭建多个网站
  • 毕业设计网站代做多少钱网站被k十大原因
  • 专做丰田车货款的网站小程序开发平台好的有哪些
  • 心理咨询网站php后台一般需要哪些模块在线做logo
  • vs2010 网站开发pc网站如何做移动网站
  • 网站关键词下降合肥微网站制作
  • 郴州网站建设公司电话杭州做网站要多少钱
  • 关于网站建设的博客wordpress模板修改图片大小
  • 做网站教学书我们常见的网站有哪些方面
  • 如何看客户网站开发客户门户网站代码
  • 专业平台网站建设网页设计师简历模板
  • 苏州网站制作开发公司互联网人工智能
  • 有什么专业做心理的网站wordpress优化打开速度插件
  • 活动策划网站有哪些页面设计图片大全
  • 五金制品东莞网站建设技术支持用vps刷网站流量要怎么做
  • 杭州网站运营深圳宝安高端网站建设
  • 亚马逊网站 如何做站内seo株洲网站平台搭建
  • 飞速网站排名wordpress 下载失败
  • 网站在百度的图标显示不正常显示网站建设反馈书模板
  • 找人做jsp网站wordpress dux主题设置首页