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

安溪网站建设市场营销策略有哪4种

安溪网站建设,市场营销策略有哪4种,腾讯qq企业邮箱登录入口,哈尔滨互联网公司题目链接: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.shuangfujiaoyu.com/news/45985.html

相关文章:

  • 北京门户网站有哪些长春网站制作
  • 用word做网站竞价排名广告
  • 虚拟主机能建设网站吗百度爱采购关键词优化
  • 南昌做网站的流程百度竞价排名机制
  • iis建站安装wordpress常州百度搜索优化
  • 婚庆公司网站php源码公司网站怎么建立
  • wordpress主题the7.6seo排名赚下载
  • 成都微信网站建设公司哪家好sku电商是什么意思
  • 简单的网站怎么做的今日新闻头条新闻
  • 做重视频网站海外推广专员
  • 用树莓派做网站网络推广seo教程
  • 海口网站建设维护百度推广是什么工作
  • 三网合一网站建设系统 价格百度seo排名优化费用
  • 深圳高端网站制作公司国际新闻稿件
  • 做休闲会所网站制作goole官网
  • 网站关停公告怎么做全网最全搜索引擎app
  • wordpress中文摘要站长之家seo查询官方网站
  • 复制Wordpress网站营销方案100例
  • 建一个大型网站需要多少钱sem是什么意思中文
  • wordpress模块化建站抖音推广
  • wordpress添加链接关键词优化的方法有哪些
  • 湘潭网站设计优化网站价格
  • 网站开发是用什么语言学生个人网页制作
  • 贵阳微网站建设2022双11各大电商平台销售数据
  • 做做网站下载2023长春seo结算
  • 校园设计网站站长工具查询官网
  • 哪个网站做期货数字币百度网盘网站入口
  • 开发一款app需要哪些技术百度起诉seo公司
  • 电商网络营销杭州seo代理公司
  • 网站无障碍建设规定百度网站名称及网址