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

php网站开发实训心得快速网站轻松排名哪家好

php网站开发实训心得,快速网站轻松排名哪家好,北京营销型网站建设培训,网络广告方案怎么写题目链接 有序矩阵中第 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.zhongyajixie.com/news/39026.html

相关文章:

  • 十大纯净系统网站长春关键词优化平台
  • 郑州工作汤阴县seo快速排名有哪家好
  • 做网站用com还是cn好东台网络推广
  • 如何用eclipse做网站站长之家域名查询排行
  • 网站建设发展方向怎么写深圳seo优化
  • 企业网站建设版本安卓手机优化软件哪个好
  • 在网站后台设置wap模板目录代写文案的软件
  • 山东省政府采购网 网站建设 招标刚刚发生了一件大事
  • 郑州专业的网站建设公司google关键词排名优化
  • 容易导致网站作弊的几个嫌疑免费百度seo引流
  • 漫画网站源码青岛seo代理计费
  • 大型网站域名so导航 抖音
  • 做招聘的网站有哪些内容百度竞价广告点击器
  • 大连网站推广价格优化系统
  • 金融公司网站建设hao123网址之家官网
  • 网站做防劫持百度竞价代运营外包
  • 网站的模糊搜索怎么做seo搜索排名优化
  • 不知此网站做男人也百度竞价sem
  • 权威的公司网站制作十大经典事件营销案例分析
  • 东莞网站制作公司是什么朋友圈产品推广文案
  • 青岛网站设计网站网站的开发流程
  • 佘山网站建设seo免费诊断
  • 惠州专业做网站成品网站源码在线看
  • 做程序网站需要什么代码沈阳头条今日头条新闻最新消息
  • 深圳公司网站如何设计品牌网
  • 学习做网站可以吗怎么在百度上发布信息广告
  • 用html做登录网站北京seo优化
  • python做视频点播网站免费宣传平台有哪些
  • 北京做网站优化媒体平台
  • 做网站销售好不好优化方案怎么写