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

北京代理注册记账公司做seo必须有网站吗

北京代理注册记账公司,做seo必须有网站吗,网站菜单设置,做网站 卖产品leetcode原题链接:数组中的第K个最大元素 题目描述 给定整数数组 nums 和整数 k,请返回数组中第 k 个最大的元素。请注意,你需要找的是数组排序后的第 k 个最大的元素,而不是第 k 个不同的元素。 你必须设计并实现时间复杂度为 O…

        leetcode原题链接:数组中的第K个最大元素

题目描述

       给定整数数组 nums 和整数 k,请返回数组中第 k 个最大的元素。请注意,你需要找的是数组排序后的第 k 个最大的元素,而不是第 k 个不同的元素。

       你必须设计并实现时间复杂度为 O(n) 的算法解决此问题。

示例 1:

输入: [3,2,1,5,6,4], k = 2
输出: 5

示例 2:

输入: [3,2,3,1,2,4,5,5,6], k = 4
输出: 4

提示:

  • 1 <= k <= nums.length <= 105
  • -104 <= nums[i] <= 104

解题方法: 小顶堆。求最大的k个元素用小顶堆,求最小的k个元素用大顶堆。同时注意下c++的语法糖。std::less用于定义大顶堆, std::greater用于定义小顶堆。

C++代码

#include <iostream>
#include <vector>
#include <queue> 
#include <functional> // std::less, std::greater
/*
* 最大的k个元素,采用小顶堆, std::greater
* 最小的k个元素,采用大顶堆, std::less
* std::priority_queue的成员函数如下:
* empty(),size(),top(),push(), emplace()[c++11], pop(), swap(c++11)
*/class Solution {
public:int findKthLargest(std::vector<int>& nums, int k) {int n = nums.size();if (n == 0 || k > n) {return -1;}std::priority_queue<int, std::vector<int>, std::greater<int>> pq;for (int i = 0; i < n; i++) {if (i < k) { //初始化小顶堆上的k个元素pq.emplace(nums[i]);} else if (nums[i] > pq.top()) { //当前遍历的数字比堆顶元素大pq.pop();//先弹出堆顶元素pq.emplace(nums[i]);//再压入元素}}return pq.top();//小顶堆的头节点就是第k大元素}
};

http://www.dinnco.com/news/51586.html

相关文章:

  • 湖北专业的网瘾学校收费标准飓风seo刷排名软件
  • 武汉设计网站建设做网络营销推广的公司
  • 数码网站建设图片seo关键词排名优化费用
  • wordpress 电影下载站源码知名网站
  • php中网站搜索功能实现seo关键词排名软件
  • 长安h5网站建设合肥网站推广公司哪家好
  • 域名网站如何做市场推广网站排名靠前的方法
  • 城市建设和房屋管理部门网站网站建设首页
  • 安卓应用市场免费下载安装嘉兴seo报价
  • 怎么用FTP做网站小红书笔记关键词排名优化
  • 宁波网站推广优化公司新闻头条最新消息10条
  • 企业官网怎么维护seo点击排名软件哪里好
  • 住房建设危房改造网站推广下载app赚钱
  • 商丘柘城做网站福州seo网络推广
  • 为什么建新闻网站做游戏推广怎么找客户
  • 霸州网站建设最新引流推广方法
  • 有没有专门做二手电脑的网站网络营销推广有效方式
  • 个人网站做导购可以吗如何做电商新手入门
  • 《网站建设教程查看百度关键词价格
  • 运城做网站的公司厦门人才网唯一官方网站登录入口
  • 网站后台账号密码破解怎么制作一个网站首页
  • 做微商网站设计杭州seo中心
  • 域名和网站关联百度网盘搜索引擎入口在哪
  • 拓和科技有限公司网站百度助手手机下载
  • 如何在服务器上关闭网站谷歌应用商店
  • 备案号cpu优化软件
  • 成都品牌推广南宁百度首页优化
  • 成都青羊区建设局网站网销是什么工作好做吗
  • 最优惠的郑州网站建设全是广告的网站
  • wordpress新界面seo指搜索引擎