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

葫芦岛网站建设郑州seo推广优化

葫芦岛网站建设,郑州seo推广优化,网站建设公司国内技术最强,电影网题目链接:https://leetcode.cn/problems/divide-array-in-sets-of-k-consecutive-numbers/description/ 题目大意:给出一个数组nums[]和一个数k,求nums[]能否被分成若干个k个元素的连续的子列。 思路:比较简单,贪心就…

题目链接:https://leetcode.cn/problems/divide-array-in-sets-of-k-consecutive-numbers/description/

题目大意:给出一个数组nums[]和一个数k,求nums[]能否被分成若干个k个元素的连续的子列。

思路:比较简单,贪心就行,找到当前剩下的元素中最小的v,然后(如果合法)它必然属于某个子列,那么就找v+1, ..., v+k-1,这些元素的剩余量都减1即可。如果出现空缺,那么就返回false

很显然用哈希表比较合适。不过我开始做时,因为要从小到大遍历剩余元素,就用了map<int, int>,直接从map的头开始遍历。虽然通过了,但速度有点慢。看了题解,发现用的是unordered_map<int, int>,区别就是先把nums[]排序了一遍,然后对nums[]进行遍历。这也是OK的,因为排序后,nums[]中,每个最小的元素都需要被归入一个子列中。这样就节约了时间。

完整代码

class Solution {
public:bool isPossibleDivide(vector<int>& nums, int k) {int n = nums.size();if (n % k)return false;sort(nums.begin(), nums.end());unordered_map<int, int> cnt;for (auto& num : nums) {cnt[num]++;}for (auto& num : nums) {if (!cnt.count(num))continue;cnt[num]--;if (cnt[num] == 0)cnt.erase(num);for (int i = 1; i < k; i++) {if (cnt.count(num+i) != 0) {cnt[num+i]--;if (cnt[num+i] == 0)cnt.erase(num+i);}elsereturn false;}}return true;}
};
http://www.ds6.com.cn/news/19891.html

相关文章:

  • 网站建设电销话术范文全球网站排行榜
  • 郑州做网站哪家便宜百度快照优化排名
  • 淘宝客网站建站源码全自动推广引流软件免费
  • 南皮县做网站价格搜索引擎seo
  • 网站开发涉及内容智能网站推广优化
  • 做网站怎么做其他页今日国内新闻头条
  • 网站首页的浮窗怎么做2023国内外重大新闻事件10条
  • 网站打开特别慢推广软文发稿
  • 赶集的网站怎么做今天国际新闻大事
  • 买的网站模板会影响搜狗推广登录平台
  • WordPress magento网站推广和优化的原因网络营销
  • 外贸网站解决方案网站友链查询源码
  • 基于drupal系统的网站开发-毕业论文关键词有哪些
  • 服装定制属于什么行业长沙seo优化哪家好
  • 哪家做的濮阳网站建设十大软件免费下载网站排行榜
  • 互联网产品做网站好还是小程序seo百度排名优化
  • 企业网站源码生成推广普通话的宣传内容
  • 做公众号用什么网站论坛优化seo
  • 零食类营销网站怎么做外链工具xg下载
  • 湘潭做网站出色磐石网络推广有奖励的app平台
  • 德州做网站dzqifan玄幻小说百度风云榜
  • 做图片网站侵权吗朝阳网站建设
  • 网站建设销售好做站内营销推广途径
  • 做餐饮连锁加盟如何选网站推广网络运营seo是什么
  • 好姑娘免费高清视频绍兴seo网站管理
  • 网站建设实验分析总结什么平台引流最快
  • bs网站开发招聘兰州网络推广电话
  • 什么网站可以做软件有哪些优化网站排名茂名厂商
  • 怎样把自己做的网站上传91关键词排名
  • 南京有制作网站的吗口碑营销ppt