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

湖北建站中心县文化馆网站建设方案

湖北建站中心,县文化馆网站建设方案,学习php网站建设,宁波模板开发建站原题链接&#xff1a;Leetcode 378. 有序矩阵中第 K 小的元素 解题思路&#xff1a; 参考自博客&#xff1a;LeetCode题练习与总结&#xff1a;有序矩阵中第 K 小的元素–378 class Solution { public:int kthSmallest(vector<vector<int>>& matrix, int k)…

原题链接:Leetcode 378. 有序矩阵中第 K 小的元素

解题思路:

参考自博客:LeetCode题练习与总结:有序矩阵中第 K 小的元素–378

class Solution {
public:int kthSmallest(vector<vector<int>>& matrix, int k) {int n=matrix.size();int l=matrix[0][0];int r=matrix[n-1][n-1];while(l<r){int mid=l+(r-l)/2;int j=n-1;int cnt=0;for(int i=0;i<n;i++){while(j>=0 && matrix[i][j]>mid){j--;}cnt+=(j+1);}if(cnt<k){l=mid+1;}else{r=mid;}}return l;}
};

为什么left一定在矩阵中?

  • 循环过程中,矩阵中第k小的那个数始终在区间[left, right]中

  • 循环过程中,left和right可能不是矩阵中的元素,但是[left, right]中某个元素 ”在矩阵中“ 且 ”满足第k小“

  • 当right == left时,[left, right]中只有一个元素了(即left),所以此时left必然 ”在矩阵中“ 且
    ”满足第k小“

此题的完整流程+过程演示:

#include <iostream>
#include <vector>
using namespace std;int kthSmallest(vector<vector<int>>& matrix, int k) {int n=matrix.size();int l=matrix[0][0];int r=matrix[n-1][n-1];int round=1;while(l<r){cout<<"第" <<round<<"次查找:"<<endl;cout<<"开始时:" <<endl;int mid=l+(r-l)/2;int j=n-1;int cnt=0;cout<<"left:"<<l<<endl;cout<<"right:"<<r<<endl;cout<<"mid:"<<mid<<endl;for(int i=0;i<n;i++){while(j>=0 && matrix[i][j]>mid){j--;}cnt+=(j+1);}if(cnt<k){l=mid+1;}else{r=mid;}round++;cout<<"找到" <<cnt<<"个小于等于mid的数"<<endl;cout<<"更新后:"<<endl;cout<<"left:"<<l<<endl;cout<<"right:"<<r<<endl;cout<<"------------------------------------------------------"<<endl;}return l;
}int main()
{vector<vector<int>> mat;mat.push_back({1,5,9});mat.push_back({10,11,13});mat.push_back({12,13,15});int res=kthSmallest(mat, 8);cout<<res<<endl;return 0;
}
1次查找:
开始时:
left:1
right:15
mid:8
找到2个小于等于mid的数
更新后:
left:9
right:15
------------------------------------------------------2次查找:
开始时:
left:9
right:15
mid:12
找到6个小于等于mid的数
更新后:
left:13
right:15
------------------------------------------------------3次查找:
开始时:
left:13
right:15
mid:14
找到8个小于等于mid的数
更新后:
left:13
right:14
------------------------------------------------------4次查找:
开始时:
left:13
right:14
mid:13
找到8个小于等于mid的数
更新后:
left:13
right:13
------------------------------------------------------
13

文章转载自:

http://QK0rGVH0.hpyfg.cn
http://jl9P2lK0.hpyfg.cn
http://weDeBsfg.hpyfg.cn
http://4VXJ4c6p.hpyfg.cn
http://wHshO0k1.hpyfg.cn
http://0pR9plKU.hpyfg.cn
http://zl9JXEfE.hpyfg.cn
http://b3wQngYL.hpyfg.cn
http://2WrUYZcw.hpyfg.cn
http://o2iFFTUT.hpyfg.cn
http://myjurZNC.hpyfg.cn
http://KzMcByJj.hpyfg.cn
http://dFguJdbP.hpyfg.cn
http://L7yQbQIy.hpyfg.cn
http://Tl7Lr2Er.hpyfg.cn
http://VHYPoaDN.hpyfg.cn
http://rrvl60RT.hpyfg.cn
http://mi7LOjS2.hpyfg.cn
http://9uzcSvMe.hpyfg.cn
http://DghNKwyH.hpyfg.cn
http://LngsxMQ0.hpyfg.cn
http://836PVsFM.hpyfg.cn
http://hWV4BCi0.hpyfg.cn
http://jFOtURnd.hpyfg.cn
http://lvl0YZ76.hpyfg.cn
http://wZzmwIOP.hpyfg.cn
http://jfFqCEPK.hpyfg.cn
http://ieTtBfjc.hpyfg.cn
http://YkFUSEOs.hpyfg.cn
http://PNIvI7XD.hpyfg.cn
http://www.dtcms.com/wzjs/733919.html

相关文章:

  • 个人网站设计主题wordpress微官网
  • 泉州模板自助建站企业定制网站建设公司哪家好
  • 南宁网站设计公司排名杭州建设网 郎鑫
  • 公司做营销网站wordpress手机端兼容
  • 成都维尼网络 网站建设seo企业推广案例
  • 万网空间存放两个网站张家港质监站网址
  • 山西百度公司做网站的西安做网站的公司在哪
  • 电视剧在线观看免费影视网站手机前端开发软件工具
  • 合肥网站建站推广网站开发职责
  • 做网站文案wordpress 主页 导航
  • 手机网站建设怎么设计您与此网站建立的连接不安全
  • 网站模板制作步骤北京网页设计公司
  • 域名商的网站海誉网站定制
  • 网站项目需求表镇江网站制作费用
  • 陕西天和建设有限公司网站网站建设图片流程图
  • 微信平台app网站建设网站建设公司方唯
  • 在线工具网站陕西省住房和城乡建设厅官方网站
  • 做百度网站排名软件建设网站要在需求
  • 企业级网站开发平台wordpress去重插件
  • 台州网站搭建seo值怎么提高
  • 网站的黏度中国建设银行北京招聘信息网站
  • 直播网站建设方案企业网设计方案论文
  • 和平东路网站建设网站建设方式优化
  • php网站开发权限管理几级分销属于合法
  • 国家建设协会官方网站如何建立手机论坛
  • php网站后台模板下载湖州网站做等保费用
  • 策划方案网站茶类网站建设方案
  • 长春市网站建设中国菲律宾篮球
  • wordpress用户注册邮箱验证码优化排名软件
  • 做网站时 404网页如何指向网站建设的摊销