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

cms网站管理系统源码做网站卖印度药

cms网站管理系统源码,做网站卖印度药,韩国时尚网站欣赏,建设企业网站价格题目: 思考: 最直观的思路是不管矩阵性质,直接遍历后排序(二维变一维)但这复杂度太高且完全没有利用矩阵中相对有序的性质第二种思路是拆分,nn的矩阵,拆分成n个一维向量,这些一维向…

题目:
在这里插入图片描述
思考:

  1. 最直观的思路是不管矩阵性质,直接遍历后排序(二维变一维)但这复杂度太高且完全没有利用矩阵中相对有序的性质
  2. 第二种思路是拆分,n×n的矩阵,拆分成n个一维向量,这些一维向量都是有序的,相当于n个有序数组中找到第k小的,可以使用合并n个有序列表的方法,比如归并排序
  3. 但是第二种只使用到了有序矩阵中一个方向上的有序性质
  4. 使用二分查找,矩阵中最小的是matrix[0][0]设为min,最大的是matrix[n-1][n-1]设为max,利用二分查找实时查找矩阵中比(min+max)/2小的数的个数,刚好k个就找到了,小于k个说明真正的第k小元素要比(min+max)/2大,更新min的值,同理大于k个更新max的值
  5. 那么方法的重难点就在于查找比(min+max)/2小的数的个数,可以遍历每一行去找,但还是要利用矩阵性质,从矩阵右上角开始找,相当于 240. 搜索二维矩阵 II 的方法

实现:

class Solution {
public:int kthSmallest(vector<vector<int>>& matrix, int k) {int n=matrix.size();auto getCount=[&] (int mid)->int{int count=0;int x=0;int y=n-1;while(y>-1&&x<n){if (matrix[x][y]<=mid){count+=y+1;x++;}else{y--;}}return count;};int l=matrix[0][0];int r=matrix[n-1][n-1];while(l<=r){int mid=(l+r)/2;int count=getCount(mid);if (count<k){l=mid+1;}else{r=mid-1;}}return l;}
};
http://www.dtcms.com/a/488693.html

相关文章:

  • 网站专题方案单县住房和城乡建设局网站
  • java中的注解
  • 手撕大模型 | MQA 和 GQA 原理解析
  • 爱站网长尾关键词挖掘工具电脑版wordpress链接的图片保存到本地
  • 站长平台怎么做网站漂亮的学校网站模板下载
  • 户型图在哪个网站找免费发外链的网站
  • .net 大型网站开发合肥seo优化公司
  • 效果图网站推荐大全面包砖dedecms怎么制作网站
  • 网站的流量是什么意思wordpress去除更新
  • 制作一个网页游戏需要多少钱成都企业网站优化服务
  • 学ui设计网站如何变更网站备案信息查询
  • 虚拟产品货源网站新浪网页编辑器
  • php与mysql网站开发免费永久个人服务器
  • 黄冈网站网站设计要多久
  • 网站标题优化工具建e网手机app
  • ssc网站建设教程网站怎么做伪静态iis7.0
  • 网站建设企业服务两台wordpress共享mysql
  • 做网站合同山东手机网站建设
  • 学校网站制作代码购物网站建设项目可研报告
  • 网站描述修改网站开发工作介绍
  • 网站一直维护意味着什么网站建立费用多少钱
  • asp.net 4.0网站开发与项目实战 pdf怎么做动漫网站
  • wordpress+随机播放河南网站优化要多少钱
  • 什么样的网站高大上网站建设有多少公司
  • 孟村做网站价格祁县建设局网站
  • 建设网站有哪些公司西宁市建设局官方网站
  • QT登陆界面
  • 网站设计费用一览表企业网站属于广告吗
  • 小说网站怎么做空间小大连图书馆网站建设要求
  • 网站导航页面制作手表网站欧米茄价格