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

中国工程建设监理协会网站网站开发和编程有什么区别

中国工程建设监理协会网站,网站开发和编程有什么区别,青岛模版网站建设哪家好,黄骅贴吧招聘2022年本文属于「征服LeetCode」系列文章之一,这一系列正式开始于2021/08/12。由于LeetCode上部分题目有锁,本系列将至少持续到刷完所有无锁题之日为止;由于LeetCode还在不断地创建新题,本系列的终止日期可能是永远。在这一系列刷题文章…

本文属于「征服LeetCode」系列文章之一,这一系列正式开始于2021/08/12。由于LeetCode上部分题目有锁,本系列将至少持续到刷完所有无锁题之日为止;由于LeetCode还在不断地创建新题,本系列的终止日期可能是永远。在这一系列刷题文章中,我不仅会讲解多种解题思路及其优化,还会用多种编程语言实现题解,涉及到通用解法时更将归纳总结出相应的算法模板。

为了方便在PC上运行调试、分享代码文件,我还建立了相关的仓库。在这一仓库中,你不仅可以看到LeetCode原题链接、题解代码、题解文章链接、同类题目归纳、通用解法总结等,还可以看到原题出现频率和相关企业等重要信息。如果有其他优选题解,还可以一同分享给他人。

由于本系列文章的内容随时可能发生更新变动,欢迎关注和收藏征服LeetCode系列文章目录一文以作备忘。

有 n 个人被分成数量未知的组。每个人都被标记为一个从 0 到 n - 1 的唯一ID 。

给定一个整数数组 groupSizes ,其中 groupSizes[i] 是第 i 个人所在的组的大小。例如,如果 groupSizes[1] = 3 ,则第 1 个人必须位于大小为 3 的组中。

返回一个组列表,使每个人 i 都在一个大小为 groupSizes[i] 的组中。

每个人应该 恰好只 出现在 一个组 中,并且每个人必须在一个组中。如果有多个答案,返回其中 任何 一个。可以 保证 给定输入 至少有一个 有效的解。

示例 1:

输入:groupSizes = [3,3,3,3,3,1,3]
输出:[[5],[0,1,2],[3,4,6]]
解释:
第一组是 [5],大小为 1,groupSizes[5] = 1。
第二组是 [0,1,2],大小为 3,groupSizes[0] = groupSizes[1] = groupSizes[2] = 3。
第三组是 [3,4,6],大小为 3,groupSizes[3] = groupSizes[4] = groupSizes[6] = 3。 
其他可能的解决方案有 [[2,1,6],[5],[0,4,3]][[5],[0,6,2],[4,3,1]]

示例 2:

输入:groupSizes = [2,1,3,3,3,2]
输出:[[1],[0,5],[2,3,4]]

提示:

  • groupSizes.length == n
  • 1 <= n <= 500
  • 1 <= groupSizes[i] <= n

解法 哈希表

由于给定的输入一定存在有效的解,因此对于数组 g r o u p S i z e s groupSizes groupSizes 中的每个元素 x x x ,当 x x x 在数组中出现 y y y 次时, y y y 一定能被 x x x 整除,且大小为 x x x 的组有 y x \dfrac{y}{x} xy​ 个。

首先将每个人的编号按照组的大小划分,使用哈希表记录每个组的大小对应的所有人的编号。然后遍历哈希表,对于大小为 x x x 的组,得到对应的所有人编号列表,将列表的大小记为 y y y ,则 y y y 一定能被 x x x 整除,将列表分成 y x \dfrac{y}{x} xy 个大小为 x x x 的组,并将每个组添加到答案中。遍历结束之后,即完成分组。

考虑示例 1 的分组。根据数组 g r o u p S i z e s groupSizes groupSizes 得到每个组的大小对应的所有人的编号:

  • 大小为 1 1 1 的组对应的编号列表是 [ 5 ] [5] [5] ,大小为 3 3 3 的组对应的编号列表是 [ 0 , 1 , 2 , 3 , 4 , 6 ] [0, 1, 2, 3, 4, 6] [0,1,2,3,4,6] 。将每个组的大小对应的编号列表分成特定大小的列表。
  • 大小为 1 1 1 的组对应的编号列表的长度是 1 1 1 ,因此有 1 1 1 个大小为 1 1 1 的组: [ 5 ] [5] [5]
  • 大小为 3 3 3 的组对应的编号列表的长度是 6 6 6 ,因此有 2 2 2 个大小为 3 3 3 的组: [ 0 , 1 , 2 ] , [ 3 , 4 , 6 ] [0, 1, 2], [3, 4, 6] [0,1,2],[3,4,6]

最终分组情况是 [ [ 5 ] , [ 0 , 1 , 2 ] , [ 3 , 4 , 6 ] ] [[5], [0, 1, 2], [3, 4, 6]] [[5],[0,1,2],[3,4,6]]

class Solution {
public:vector<vector<int>> groupThePeople(vector<int>& groupSizes) {unordered_map<int, vector<int>> rec;vector<vector<int>> ans;for (int i{}; auto& v : groupSizes) {rec[v].push_back(i++);if (rec[v].size() == v)ans.push_back(exchange(rec[v], {}));}return ans;}
};

复杂度分析:

  • 时间复杂度: O ( n ) O(n) O(n)
  • 空间复杂度: O ( n ) O(n) O(n)
http://www.yayakq.cn/news/648373/

相关文章:

  • 做网站横幅的图片多大常见的网络推广方式包括
  • 长沙网站制作价长沙人才招聘网长沙58同城招聘网
  • 专题网站建站深圳正规燃气公司一览表
  • 在线咨询 1 网站宣传golang做网站
  • 精品网站模板南宁个人做网站的
  • 温州网站建设公司电话个人wordpress是否需要备案
  • steam官方网站下载兰州关键词网络推广
  • 电子商务网站建设的参考文献优酷视频网站开发
  • 兰溪企业网站搭建地址网站速度诊断
  • 泉州网站建设方案详细济南企业如何建网站
  • 网站建设丨找王科杰上词快一般网站 广告
  • 做外贸收费的网站wordpress逍遥乐
  • wordpress主题 手机黄山seo公司
  • 想找个人做网站潍坊市建设工程质量安全监督站网站
  • 网站开发包含什么国内最大的域名交易平台
  • 网站主页面设计哪个好乌兰浩特网站制作
  • 网站建设在阿里云wordpress子主题怎么用
  • wap asp网站模板下载手机网页设计app
  • 网站建设幽默云南人社
  • 鲅鱼圈规划建设局网站贵金属交易平台
  • 视频网站是怎么做权限管理的wordpress能做外贸网站
  • 琼海市建设局网站长春盛网网站建设
  • 广西电力工程建设公司网站网站建设设计 网络服务
  • 贵阳网站建设公司排行阿里巴巴做网站难吗
  • 拼多多关键词推广网络公司优化关键词
  • 做一百度网站ui设计现在好找工作吗
  • 内蒙古建设集团招聘信息网站小米的网站建设的要点
  • 酒店类的电影网站模板免费下载网站建设质量保证
  • 在县城做哪个招聘网站比较赚钱html简易计算器代码
  • 重庆定制网站建设公司cms管理什么意思