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

新网站怎么做才会被收录新网站排名优化怎么做

新网站怎么做才会被收录,新网站排名优化怎么做,电商平台搭建,做个网站大约多少钱文章目录 1、Java中的堆结构2、leetcode215#xff1a;数组中的第K个最大元素3、leetcode692#xff1a;前K个高频单词 1、Java中的堆结构 PriorityQueue类取堆顶元素删除堆顶元素堆的元素个数遍历堆 2、leetcode215#xff1a;数组中的第K个最大元素 这题应该快排来解数组中的第K个最大元素3、leetcode692前K个高频单词 1、Java中的堆结构 PriorityQueue类取堆顶元素删除堆顶元素堆的元素个数遍历堆 2、leetcode215数组中的第K个最大元素 这题应该快排来解这里用堆仅做练习。用堆实现的思路将数组存入最大堆k1找第一大的元素则取堆顶元素k2找第二大的元素则删掉堆顶元素取最新的堆顶元素k3则删掉两次堆顶元素后取新的堆顶元素 public class P215 {public static int getKMax(int[] array, int k) {if (array null || array.length 0 || k 1){return Integer.MIN_VALUE;}PriorityQueueInteger maxHeap new PriorityQueue(Collections.reverseOrder());for (int i : array) {maxHeap.add(i);}while (k 1) {// 删掉前面第k-1大的所有元素maxHeap.poll();k--;}// 取出删掉后新的堆顶元素即第K大的元素return maxHeap.peek();} } 测试 public class P215 {public static void main(String[] args) {int[] array {3, 2, 3, 1, 2, 4, 5, 5, 6};System.out.println(getKMax(array, 4));} } 3、leetcode692前K个高频单词 本质是个统计次数的问题自然想到哈希表结构可用HashMap统计完后前k个、第K个则可考虑最大堆。不过题中要求次数相等时按照字母排序因此要自定义比较器的实现先比次数次数相等再按字母排序 如果要用最小堆实现应该将值最小的元素往堆顶放、同等次数的把字母靠后的往堆顶放 然后限制最小堆里元素的个数为k个当超出k时剔除堆顶元素因为堆顶元素最小我要的是前K大的。遍历map完成后从堆中循环取出堆顶数据此时得到的顺序是从小到大的再反转下即可return 这里用最小堆和最小堆分别来解决 public class P692 {/*** 统计每个单词出现的数量*/public static HashMapString, Integer stats(String[] array) {if (array null || array.length 0) {return null;}HashMapString, Integer statsMap new HashMap();for (String str : array) {// 判断下是否包含这个key不要直接map.get(str) 1// 没这个key时get返回nullnull 1会空指针if (!statsMap.containsKey(str)) {statsMap.put(str, 1);} else {statsMap.put(str, statsMap.get(str) 1);}}return statsMap;}/*** 用最小堆解题*/public static ListString calcKMaxByMinHeap(HashMapString, Integer map, Integer k) {PriorityQueueStrInfo minHeap new PriorityQueue(new ComparatorStrInfo() {Overridepublic int compare(StrInfo o1, StrInfo o2) {if (!o1.count.equals(o2.count)) {return o1.count - o2.count;} else {return o2.str.compareTo(o1.str);}}});map.forEach((str, count) - {// 将每一条统计数据入堆入堆时会按照上面的比较规则做成最小堆minHeap.add(new StrInfo(str, count));// 入堆后如果元素数量超过了k扔掉堆顶元素if (minHeap.size() k) {minHeap.poll();}});// 将堆中的k个单词放入结果集ListString result new ArrayList();while (!minHeap.isEmpty()) {result.add(minHeap.poll().str);}// 结果倒转按题目要求的顺序returnCollections.reverse(result);return result;}/*** 用最大堆解题*/public static ListString calcKMaxByMaxHeap(HashMapString, Integer map, Integer k) {PriorityQueueStrInfo maxHeap new PriorityQueue(new ComparatorStrInfo() {Overridepublic int compare(StrInfo o1, StrInfo o2) {if (!o1.count.equals(o2.count)) {return o2.count - o1.count;} else {return o1.str.compareTo(o2.str);}}});// 将每一条统计数据入堆入堆时会按照上面的比较规则做成最大堆map.forEach((str, count) - {maxHeap.add(new StrInfo(str, count));});// 取前k个堆顶元素即为前K个高频单词ListString result new ArrayList();while (k 0) {result.add(maxHeap.poll().str);k--;}return result;} }class StrInfo {String str;Integer count;public StrInfo(String str, Integer count) {this.str str;this.count count;} } 测试 public class P692 {public static void main(String[] args) {String[] array {i, love, leetcode, i, love, coding};System.out.println(calcKMaxByMinHeap(stats(array), 2));} }
http://www.pierceye.com/news/183611/

相关文章:

  • 文化网站前置审批网站运营系统
  • 现在做网站用什么学校网站的建设需求
  • 网页制作与网站建设技术大全 pdfhtml5移动端网站开发教程
  • 做任务可以给钱的网站php响应式网站模板下载
  • 平面素材设计网站东莞房价2023年最新房价走势
  • 做一个网站建设需要多少钱天津企业网站排名优化
  • 有关网站开发的论文网站建设哪公司
  • wordpress网站500导航 网站 分析
  • 软件网站开发市场前景试论述网上商城的推广技巧
  • 海洋生态文明建设的网站名廊坊网站建设电话
  • 做外贸在哪个网站比较好视频网站搭建源码
  • 网站代码优化视频教程动画制作专业大学排名
  • 安阳网站推广优化网站导航条背景图片
  • 静态网站需要数据库吗广州近期流行的传染病
  • 如何做国外的网站页面设计感想
  • 征婚网站认识的男人做定投保wordpress 中文 cms
  • 淄博百度网站建设上虞网站建设哪家好
  • 网站菜单导航怎么做的网站没有备案怎么做支付
  • wordpress主题小程序如何做优化排名
  • 中企动力做网站费用多个域名 指向同一个网站
  • 怎么搭建小程序平台网站营销优化
  • 建设网站员工招聘策划方案软件开发的八个步骤
  • 怎样做cms电影网站赚钱网络营销需要学什么
  • wordpress快速仿站视频教程没有备案的网站会怎么样
  • 美团先做网站还是app惠州惠阳网站建设
  • 可以更改上传到网站的文件内容吗信用 网站 建设方案
  • 获奖设计网站公司制作网站价格表
  • 做单页免费模板网站我是做推广的怎么找客户
  • 企业网站建设的缺点网络营销最基本的应用方式是什么
  • 做cpa推广用哪种网站好上海h5网站开发