当前位置: 首页 > 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.laogonggong.com/news/59818.html

相关文章:

  • 三合一网站和传统网站在线教育 wordpress
  • 昆山建设局图审中心网站如何建立淘宝客网站
  • 域名访问网站 过程北京市中海建设有限公司网站
  • 外贸网站建设公司市场外贸建站推广工作总结
  • 个人网站 服务器广东省住房和城乡建设局官网
  • 视频网站 建设 硬件中冶东北建设最新网站
  • 电子产品东莞网站建设响应式网页设计与制作
  • 购买网站空间多少钱企业网站分类举例
  • 建设部网站安全事故建设部网站 法规
  • 重庆奉节网站建设公司推荐做词云的在线网站
  • 12380网站建设情况说明东莞网站建设网站
  • 怎么把网站生成二维码网站首页页面
  • 深圳建网站的网络公司代理公司注册商标
  • 昆明平台网站开发wordpress装好域名打不开
  • 多种五屏网站建设网页升级访问新域名
  • 模板网站区别上海关键词优化方法
  • 单页网站技术网站建设费用做做什么科目
  • 菏泽哪里有做网站的做58招聘网站工作人员的心得
  • 宜宾建设招标网站深圳网站定制建设
  • 免费asp主机网站石家庄百度seo
  • 大型企业网站建设方案互联网的推广方式有哪些
  • 婚恋网站建设项目创业计划书淘宝做网站费用
  • 福州网站网页设计苏州网络推广苏州网站建设
  • 网站制作技术支持设计网站用什么软件
  • seo外贸网站制作太原市网站制作
  • phpnow 搭建本地网站wordpress 分栏
  • 宁德网站设计宁波本地抖音seo推广
  • 如何做网站ip跳转潮汕网站建设
  • 做印刷的网站有哪些江门网站设计华企立方
  • 教学督导网站建设报告网站建设的公司选哪家