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

建设网站的企业哪家好咨询机构

建设网站的企业哪家好,咨询机构,优秀企业网站设计要点,专业的会议网站建设题目链接 题目: 分析: 这道题很明显是一个top-K问题, 我们很容易想到用堆排序来解决, 堆排序的时间复杂度是O(N*logN), 不符合题意, 所以我们可以用另一种方法:快速选择算法, 他的时间复杂度为O(N)快速选择算法, 其实是基于快排, 进行修改而成, 我们还是使用将"将数组分…

题目链接

题目:

分析:

  • 这道题很明显是一个top-K问题, 我们很容易想到用堆排序来解决, 堆排序的时间复杂度是O(N*logN), 不符合题意, 所以我们可以用另一种方法:快速选择算法, 他的时间复杂度为O(N)
  • 快速选择算法, 其实是基于快排, 进行修改而成, 我们还是使用将"将数组分成三块" 的方法来实现快排排序数组 ---- 分治-快排-CSDN博客
  • 此时我们每一块的元素个数分别设为a b c
  • 情况一: 如果第k个最大元素落在>key的区间, 说明此时c一定是>=k的, 此时只需要去[right, r]区间去找第k个最大元素即可
  • 情况二: 如果第k个最大元素落在=key的区间, 那么b+c一定是>=k的, 此时只需要返回key即可, 因为这个区间都是key
  • 情况三: 如果不是上述两种情况, 那么第k个最大元素一定落在<key的区间, , 此时需要去[l, left]区间去找, 但是我们要找的是第k-b-c大的元素, 因为我们舍去了=key和>key的区间

代码:

class Solution {public int findKthLargest(int[] nums, int k) {return qsort(nums, 0, nums.length - 1, k);}public int qsort(int[] nums, int l, int r, int k) {if (l == r)return nums[l];int key = nums[new Random().nextInt(r - l + 1) + l];int left = l - 1;int right = r + 1;int i = l;while (i < right) {if (nums[i] < key) {swap(nums, i++, ++left);} else if (nums[i] == key) {i++;} else {swap(nums, i, --right);}}// [l,left] [left + 1, right - 1] [right, r]int c = r - right + 1;int b = right - left - 1;if (c >= k)return qsort(nums, right, r, k);else if (b + c >= k)return key;elsereturn qsort(nums, l, left, k - b - c);}public void swap(int[] nums, int i, int j) {int t = nums[i];nums[i] = nums[j];nums[j] = t;}
}
http://www.yayakq.cn/news/57894/

相关文章:

  • 360个人网站建设云南网站建设企业推荐
  • 360网站推广官网软件网上推广方法有哪些
  • 盐城建设银行网站微信公众号和网站建设的意义
  • 镇江网站建设推广域名官网
  • 怎么制定网站关键少数
  • 东西湖建设局网站西安网站制作模板
  • 时间轴网站设计湖南省城乡住房建设厅网站
  • 网站开发需要多少钱新闻档案网站建设网页
  • 网站版块模板沈阳和平三好街做网站
  • 常德网站开发网站运营晋城市公用事业建设局网站
  • 海口什么网站建设设计公司logo需要多少钱
  • 做京东一样的网站官网建站平台
  • 商城网站建设公司招聘温州做网站制作哪家好
  • 网页设计网站世界杯企业seo蜘蛛屯
  • 做盒饭的网站免费设计logo的app
  • 商业网站开发选题的目的福州论坛建站模板
  • 人才网站建设策划书优化品牌seo关键词
  • 建设网站服务器 知乎wordpress d8 4.1
  • 苏州公司建设网站redhat7做网站过程
  • 前端可以自己做网站么做直播网站vps可以吗
  • 网站主体负责人 法人自己做网站开店
  • 网站开发简单吗支持企业网站发布要怎么做
  • 创建网站时可使用的数据库有动漫设计招聘信息
  • 5网站建设公司个人网站做淘宝客教程
  • 网站建设的目的公司网站建设 入账
  • 在线做海报的网站手机网站前端
  • 商城型网站怎么做优化php做的网站后台
  • 房屋建筑设计网站企业名录搜索软件免费
  • 网站建设需要哪些网络技术中国正规现货交易平台
  • 百度提交网站收录查询制作网站网页设计