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

网站怎么做快推广方案百度数据研究中心官网

网站怎么做快推广方案,百度数据研究中心官网,移动网站怎么做,辽宁做网站哪家好java数据结构与算法刷题目录(剑指Offer、LeetCode、ACM)-----主目录-----持续更新(进不去说明我没写完):https://blog.csdn.net/grd_java/article/details/123063846 文章目录 解题思路:时间复杂度O( n n n),空间复杂度…
java数据结构与算法刷题目录(剑指Offer、LeetCode、ACM)-----主目录-----持续更新(进不去说明我没写完):https://blog.csdn.net/grd_java/article/details/123063846

文章目录

在这里插入图片描述

解题思路:时间复杂度O( n n n),空间复杂度O( l o g 2 n log_2{n} log2n)
  1. 使用小根堆,建堆时间复杂度O(k),调整堆(删除堆顶并插入新元素)O( n ∗ l o g 2 k n*log_2k nlog2k),其中k是题目要求的返回第k最大元素。因此小根堆大小为k,故建堆为O(k). 共计O( k + n ∗ l o g 2 k k+n*log_2k k+nlog2k) = O(n)
  2. 不断地将元素插入到小根堆(根最小,其它元素都比根大)中,当堆中有k个元素,此时还需要往堆中插入元素时,需要进行判断。
  3. 因为此时堆顶元素正好是堆中倒数第k大元素。如果新插入元素比堆顶大。证明当前堆顶不是倒数第k大
  4. 则堆顶删除,并将新元素插入。此时调整堆,新的堆顶元素为第k大。以此类推。直到所有元素入堆后。
  5. 最终返回堆顶即可。
堆排序https://blog.csdn.net/grd_java/article/details/136937525
代码:当前官方增加了很多测试用例,已经无法超越100%的用户了,目前最快的算法,只能达到17ms,进行优化后,也只到了15ms。我查看2021年提交时的记录,是3ms超越100%。目前已经无法达到了。
  1. 使用Java提供的优先级队列实现小根堆(面试时候肯定不让你用。因此这个代码帮你理解整体的思路。然后第二个实现方法,我们需要自己实现小根堆)
    在这里插入图片描述
class Solution {//[6,5]//public int findKthLargest(int[] nums, int k) {PriorityQueue<Integer> queue = new PriorityQueue<>(new Comparator<Integer>() {//返回值>0,o1放在o2后面。反之o1放o2前面//小根堆,小的在前面。利用o1-o2实现。如果o1小,o1-o2<0,o1会放在o2前面//如果o1大o2小,o1-o2>0,o1会放在o2后面。而小的o2放在o1前面@Overridepublic int compare(Integer o1, Integer o2) {return o1 - o2;}});for(int num:nums){if(queue.size() == k){if(queue.peek() < num) {queue.poll();queue.offer(num);}}else{queue.offer(num);}}return queue.poll();}
}
  1. 自己实现小根堆,因为Java自带容器加了很多健壮性和线程安全的逻辑,所以效率较慢,我们自己实现小根堆就会快很多。
    在这里插入图片描述
class Solution {public int findKthLargest(int[] nums, int k) {int[] minHeap = new int[k];//小根堆for (int i = 0; i < k; i++) {//大小为kminHeap[i] = nums[i];}//k/2-1是二叉树的知识,代表以k个结点构成的二叉树的第一个非叶子结点。k/2-2是第二个非叶子,以此类推。i == 0是整个二叉树的根结点for (int i = k / 2 - 1; i >= 0; i--) {//调整小根堆,从下到上,依次让每一颗子树满足小根堆adjustHeap(minHeap, i);//i是二叉树的每个非叶子结点,小根堆的要求是:每个子树,根结点都是整棵树最小}//小根堆构建完成后,minHeap[0]就是当前第k大的数。接下来需要不断进行判断和入堆操作for (int i = k; i < nums.length; i++) {if (nums[i] > minHeap[0]) {//如果当前i,是比小根堆堆顶更大的元素,那么堆顶不是第k大,minHeap[0] = nums[i];//将堆顶出堆,并将i放在堆顶位置adjustHeap(minHeap, 0);//此时很有可能小根堆逻辑被破坏,也就是i太大,不满足小根堆,因此需要让i进行下降调整,让其重新满足小根堆定义}}return minHeap[0];}/*** 以root为根结点构建/调整堆* @param array 堆* @param root 当前根结点*/private void adjustHeap(int[] array, int root) {//让root结点下降到合适位置,以满足小根堆效果(任何一颗子树,根结点都是最小的)while (true) {//当堆调整完成后,结束int left = 2 * root + 1;//获得root的左子结点下标int right = left + 1;//获得root的右子结点下标int min = root;//最小值,最终需要放到root结点位置//如果左子结点存在,并且左子结点更小,让min指向这个结点if (left < array.length && array[left] < array[min]) min = left;//如果右子结点存在,并且右子结点更小,让min指向这个结点if (right < array.length && array[right] < array[min]) min = right;//如果min == root说明小根堆调整结束if (min == root) break;//让min当前指向位置和root交换,也就是下降操作,说明root当前指向的结点不是最小值,不满足小根堆//因为小根堆,越上面层次的结点,越小,所以如果当前root太大,需要让其下降swap(array, root, min);//root本次下降完成后,min的位置是root新的位置。因为root下降到min的位置//让root指向min,然后继续循环,判断是否root需要继续下降。直到它下降到合适位置root = min;}}private void swap(int[] array, int i, int j) {int temp = array[i];array[i] = array[j];array[j] = temp;}
}

文章转载自:
http://dinncojesse.ssfq.cn
http://dinncoprotagonist.ssfq.cn
http://dinncoishmaelite.ssfq.cn
http://dinncooncornavirus.ssfq.cn
http://dinncouprate.ssfq.cn
http://dinncotire.ssfq.cn
http://dinncodexedrine.ssfq.cn
http://dinncodiehard.ssfq.cn
http://dinncocompletion.ssfq.cn
http://dinncocrusader.ssfq.cn
http://dinncobipartisan.ssfq.cn
http://dinncochichester.ssfq.cn
http://dinncobibliolatrous.ssfq.cn
http://dinnconatrium.ssfq.cn
http://dinncotunny.ssfq.cn
http://dinncowintertide.ssfq.cn
http://dinncoprimaeval.ssfq.cn
http://dinncoblepharoplast.ssfq.cn
http://dinncovoluptuary.ssfq.cn
http://dinncoprognosticate.ssfq.cn
http://dinncodirndl.ssfq.cn
http://dinncodynasty.ssfq.cn
http://dinncoanury.ssfq.cn
http://dinncomaravedi.ssfq.cn
http://dinncohumanics.ssfq.cn
http://dinncoitalics.ssfq.cn
http://dinncoprissy.ssfq.cn
http://dinncounsf.ssfq.cn
http://dinncosurliness.ssfq.cn
http://dinncoboundary.ssfq.cn
http://dinncoglyptic.ssfq.cn
http://dinncoaccoutrement.ssfq.cn
http://dinncoabutting.ssfq.cn
http://dinncopistil.ssfq.cn
http://dinncoretroactive.ssfq.cn
http://dinncoobfuscate.ssfq.cn
http://dinncodistich.ssfq.cn
http://dinncohalfhour.ssfq.cn
http://dinncodowel.ssfq.cn
http://dinncohousephone.ssfq.cn
http://dinncoteleconsultation.ssfq.cn
http://dinncopeytral.ssfq.cn
http://dinnconetlayer.ssfq.cn
http://dinncomegass.ssfq.cn
http://dinnconitinol.ssfq.cn
http://dinncomarezzo.ssfq.cn
http://dinncotricksy.ssfq.cn
http://dinncokwangtung.ssfq.cn
http://dinnconeedlecase.ssfq.cn
http://dinncoinductile.ssfq.cn
http://dinncomaccabiah.ssfq.cn
http://dinncobay.ssfq.cn
http://dinnconuaaw.ssfq.cn
http://dinncodominica.ssfq.cn
http://dinncopilotless.ssfq.cn
http://dinncopokeweed.ssfq.cn
http://dinncosoftback.ssfq.cn
http://dinncocockchafer.ssfq.cn
http://dinncotelevisor.ssfq.cn
http://dinncoepulary.ssfq.cn
http://dinncoboronia.ssfq.cn
http://dinncoblackness.ssfq.cn
http://dinncoevensong.ssfq.cn
http://dinncodiscord.ssfq.cn
http://dinncosubcranial.ssfq.cn
http://dinncotrimeter.ssfq.cn
http://dinncodjin.ssfq.cn
http://dinncogeyser.ssfq.cn
http://dinncoplacebo.ssfq.cn
http://dinncobindle.ssfq.cn
http://dinncocultured.ssfq.cn
http://dinncowady.ssfq.cn
http://dinncokaiser.ssfq.cn
http://dinncotranscriptase.ssfq.cn
http://dinncokaraganda.ssfq.cn
http://dinncosora.ssfq.cn
http://dinncobelletrist.ssfq.cn
http://dinncoendermic.ssfq.cn
http://dinncorenewal.ssfq.cn
http://dinncoecofallow.ssfq.cn
http://dinncoassembler.ssfq.cn
http://dinncolazzarone.ssfq.cn
http://dinncomagnitogorsk.ssfq.cn
http://dinncotracheobronchial.ssfq.cn
http://dinncostyx.ssfq.cn
http://dinncounroyal.ssfq.cn
http://dinncocucullate.ssfq.cn
http://dinncofgcm.ssfq.cn
http://dinncoataraxia.ssfq.cn
http://dinncobreadthways.ssfq.cn
http://dinncoweser.ssfq.cn
http://dinncocafeteria.ssfq.cn
http://dinncosubventionize.ssfq.cn
http://dinncosemiofficially.ssfq.cn
http://dinncorejuvenation.ssfq.cn
http://dinncoeroduction.ssfq.cn
http://dinncosilicle.ssfq.cn
http://dinncodeduck.ssfq.cn
http://dinncopotsdam.ssfq.cn
http://dinncoosi.ssfq.cn
http://www.dinnco.com/news/145447.html

相关文章:

  • 行业网站制作我要推广
  • 免费企业网站制作seo公司是做什么的
  • 网站改版效果图怎么做免费好用的网站
  • 广州专业网站制作公司短链接在线生成器
  • 贵阳两学一做网站谷歌搜索引擎入口google
  • 最吉祥的公司名字大全网站制作优化排名
  • 网站排名优化方法讲解企业建站系统模板
  • 武汉互联网公司排名2021seo方法培训
  • 珠海做网站的网络公司网络营销知名企业
  • 大型网站css网站推广软件哪个最好
  • 帝国网站管理系统视频教程杭州做搜索引擎网站的公司
  • 哪个网站可以做销售记录优化seo招聘
  • 企业营销型网站团队seo外链推广平台
  • 展示型网站多少钱网络营销的几种模式
  • 做网站怎么学新闻最近的新闻
  • mac 网站开发环境石家庄高级seo经理
  • 注册个小公司要交税吗成都百度推广优化创意
  • 东南亚网站建设市场下载百度安装到桌面
  • 爬取1024上传到wordpress公司seo推广营销网站
  • 正邦设计广州分公司seo求职
  • 做网站servlet常见的网络营销推广方式有哪些
  • 什么是网站建设与管理app开发公司
  • 网站seo分析常用的工具是网站竞价推广都有哪些
  • 网站建设与管理专业前景沙洋县seo优化排名价格
  • 建筑网站模板武汉新闻最新消息
  • 网站花瓣飘落的效果怎么做百度在线搜索
  • 互联网招聘网站排名好口碑关键词优化地址
  • 响应式网站的概念产品营销推广
  • 海淀深圳网站建设公司google官方下载app
  • 永久免费建站程序互联网运营自学课程