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

能看任何网站的浏览器seo外链软件

能看任何网站的浏览器,seo外链软件,做公众号app 网站 app,中国国际园林博览会和上一题的堆排序差不多,这题稍微绕了一些。 其实方法不固定,我的做法是先将vector去重顺便用hash记录每个元素出现的次数,接着构建大根堆,然后遍历k次,每次将根节点与最后一个值替换,然后根据前面的值重新…

和上一题的堆排序差不多,这题稍微绕了一些。

其实方法不固定,我的做法是先将vector去重顺便用hash记录每个元素出现的次数,接着构建大根堆,然后遍历k次,每次将根节点与最后一个值替换,然后根据前面的值重新调整大根堆,遍历完后删除前面的节点。

class Solution {
public:unordered_map<int,int> freq;void adjustheap(vector<int>& nums,int root,int size){int left=root*2+1;int right=root*2+2;int maxx=root;if(left<size&&freq[nums[left]]>freq[nums[maxx]]) maxx=left;if(right<size&&freq[nums[right]]>freq[nums[maxx]]) maxx=right;if(maxx!=root){swap(nums[maxx],nums[root]);adjustheap(nums,maxx,size);}}void initheap(vector<int>& nums){for(int i=freq.size()/2-1;i>=0;i--) adjustheap(nums,i,nums.size()); }vector<int> topKFrequent(vector<int>& nums, int k) {for(int i=0;i<nums.size();i++){if(freq.find(nums[i])!=freq.end()){freq[nums[i]]++;nums.erase(nums.begin()+i);i--;}else freq[nums[i]]=1;}initheap(nums);int size=nums.size();for(int i=0;i<k;i++){swap(nums[0],nums[size-1]);size--;adjustheap(nums,0,size);}nums.erase(nums.begin(),nums.begin()+size);return nums;}
};

顺便学了一个优先队列(其内部是用堆实现的),学习了一下优先队列怎么自定义排序函数,需要建立一个比较函数(在class中要加static),因为priority_queue的比较函数需要一个不依赖任何class类实例的函数。

并且将pair作为优先队列中的元素使用时,加入元素可以使用q.insert({first,second}),也可以用更方便的q.emplace(first,second)不用加大括号,因为emplace是直接在队列中构造pair,而insert需要先构建一个pair再放入队列。

另外还有priority_queue的初始化问题,priority_queue<pair<int,int>, vector<pair<int,int>>, decltype(&compare)> q(compare);中三个参数分别代表队列中元素类型、底层容器(可以选择vector和deque)、比较函数(需要使用decltype将函数转化成所需要类型)。

class Solution {
public:static bool compare(pair<int,int>& a,pair<int,int>& b){return a.second>b.second;}vector<int> topKFrequent(vector<int>& nums, int k) {unordered_map<int,int> freq;for(auto& v:nums) freq[v]++;priority_queue<pair<int,int>, vector<pair<int,int>>, decltype(&compare)> q(compare);for(auto& [num,count]:freq){if(q.size()<k) q.emplace(num,count);else if(q.top().second<count){q.emplace(num,count);q.pop();}}vector<int> result;while(!q.empty()){result.push_back(q.top().first);q.pop();}return result;}
};

http://www.dtcms.com/wzjs/386634.html

相关文章:

  • 葫芦岛市住房和城乡建设局网站前端培训班一般多少钱
  • 集团公司网站怎么做网站被百度收录
  • 图片展示 网站公司官网模板
  • 衡水哪家制作网站好教育机构网站
  • 网站建设维护公司资质外链管理
  • 免费b站推广网站入口2020网站推广常用的方法
  • 如何做一起好的视频宣传自己的网站周口网络推广哪家好
  • 上海的外贸网站建设公司价格百度开户是什么意思
  • 网络域名申请条件站内优化包括哪些
  • 如何做网站卖衣服北京推广平台
  • 网站空间送域名苏州网络推广seo服务
  • 网站建设服务合同印花税google搜索优化方法
  • 网站制造公司欧美seo查询
  • 智能建筑网站网络服务提供商
  • 政府门户网站如何做预算今天的重要新闻
  • 宁波高新区建设局网站网推项目平台
  • 网站集约化建设的目的长春网站搭建
  • 网站分为几部分2000元代理微信朋友圈广告
  • 上海网站建设广告语友情链接是外链吗
  • 做网站选哪家好人力资源培训与开发
  • 替人做赌彩网站被判刑网站seo排名
  • 制作单页网站多少钱win10优化大师官网
  • 企业品牌网站建设报价市场营销策略有哪些
  • 网站建设捌金手指下拉十四google收录提交入口
  • 网站建设安全技术企业营销策划书
  • 深圳CSS3网站建设价格指数函数求导
  • 常熟网站建设哪家好公司网页设计模板
  • 简单网站建设培训中心互动营销的案例有哪些
  • 滨州网站开发游戏广告投放平台
  • 效果好的网站制作公司手机百度免费下载