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

西宁 网站建设合肥关键词排名优化

西宁 网站建设,合肥关键词排名优化,小型企业网站建站,wordpress 创建模板文件这道题如果不要求时间复杂度的话其实随便怎么做都行,但是这里有个时间复杂度的限制,还是要好好想想怎么做耗时最短。看了一下灵神的题解,我觉得他提到的桶排序方法还是很通俗易懂的。下面讲一下主要的思路。 我们首先定义一个哈希表&#xff…


这道题如果不要求时间复杂度的话其实随便怎么做都行,但是这里有个时间复杂度的限制,还是要好好想想怎么做耗时最短。看了一下灵神的题解,我觉得他提到的桶排序方法还是很通俗易懂的。下面讲一下主要的思路。
我们首先定义一个哈希表,为了保证插入操作的耗时不会过长,这里我们使用unordered_map来实现,我们先遍历数组nums,统计每个元素出现的频次,将键值对存储在hash中,然后我们定义一个二维数组buckets,其中每一个一维数组中存放的元素出现频次相同,我们定义:在nums出现了i次的元素将存入buckets[i]中,我们遍历一遍哈希表,将对应的元素添加到对应的桶子里,最后,我们从后向前遍历buckets,如果遇到长度不为0的一维数组(桶子),则将桶中的所有元素添加到结果result中,并同时将k减去桶中的元素个数,当k <= 0时,说明已经查找完毕,我们直接结束遍历,将result返回即可。

class Solution {
public:vector<int> topKFrequent(vector<int>& nums, int k) {unordered_map<int, int> hash;  //用于存放数组元素和对应的出现频次vector<vector<int>> buckets(nums.size() + 1);   //其中的每一个一维数组用于存放出现频次相同的元素vector<int> result;  //用于存储结果//统计各个元素的出现频次for(int& i : nums)hash[i]++;//将出现次数相同的元素放到同一个桶中for(auto& i : hash)buckets[i.second].emplace_back(i.first);for(int i = buckets.size() - 1; i > 0; i--){if(!buckets[i].empty()){result.insert(result.end(), buckets[i].begin(), buckets[i].end());k -= buckets[i].size();if(k <= 0) break;  //收集完毕,直接退出循环}}return result;}
};
http://www.dtcms.com/wzjs/42085.html

相关文章:

  • 建设网站公司哪家技术好小红书推广方案
  • 长安网站建设多少钱seo营销专员
  • 新闻网站怎样做seo优化百度公司全称叫什么
  • 政务微信app下载淄博网站制作优化
  • 深圳网站设计排名网络营销seo培训
  • 淘客优惠券 网站建设免费建站的网站有哪些
  • 360免费网站空间整站优化seo平台
  • 网站开发中期检查市场宣传推广方案
  • 做企业网站用什么cms知乎关键词搜索排名
  • 网站带搜索功能怎么做优化排名推广技术网站
  • 网站备案怎么查搜狗收录提交入口网址
  • 浙江建设集团网站首页杭州网站搜索排名
  • 如何做网站引流seo优化一般包括哪些
  • 信阳市人民政府领导分工武汉seo关键词排名优化
  • 如何将自己做网站放上网兰州网络推广关键词优化
  • 郑州网站权重短视频seo公司
  • 境外网站做网站涉黄关键词搜索排名公司
  • 阜新公司做网站2024年2月新冠疫情又开始了吗
  • 网站开发 . 漫游指南东莞推广平台有哪些
  • 管理网站用什么系统好网络营销推广方案ppt
  • 做资讯类网站搜索引擎的网址有哪些
  • 珠海市网站建设开发公司百度天眼查公司
  • 西安网站微信开发网页设计友情链接怎么做
  • 济南网站制作 泉诺销售平台排名
  • 深圳做营销网站建设李勇seo的博客
  • 网站建设 知乎青岛网站建设方案优化
  • 做网站不需要原件吧怎么创建网站教程
  • 六安市住房和城乡建设委员会网站6申请自媒体平台注册
  • 武汉新公司做网站|武昌专业做网站--武汉金宇盈科技有限公司起飞页自助建站平台
  • 如何建立一个网站app苏州seo排名公司