leetcode1282. 用户分组(贪心算法)

有 n 位用户参加活动,他们的 ID 从 0 到 n - 1,每位用户都 恰好 属于某一用户组。给你一个长度为 n 的数组 groupSizes,其中包含每位用户所处的用户组的大小,请你返回用户分组情况(存在的用户组以及每个组中用户的 ID)。

你可以任何顺序返回解决方案,ID 的顺序也不受限制。此外,题目给出的数据保证至少存在一种解决方案。

示例 1:

输入:groupSizes = [3,3,3,3,3,1,3]
输出:[[5],[0,1,2],[3,4,6]]
解释:
其他可能的解决方案有 [[2,1,6],[5],[0,4,3]] 和 [[5],[0,6,2],[4,3,1]]。

代码

class Solution {public List<List<Integer>> groupThePeople(int[] groupSizes) {int n=groupSizes.length;List<List<Integer>> res=new ArrayList<>();Map<Integer,List<Integer>> map=new HashMap<>();for(int i=0;i<n;i++){if(!map.containsKey(groupSizes[i]))map.put(groupSizes[i],new ArrayList<>());map.get(groupSizes[i]).add(i);//加入该组if(map.get(groupSizes[i]).size()==groupSizes[i])//分组的人数够了{res.add(new ArrayList<>(map.get(groupSizes[i])));map.get(groupSizes[i]).clear();//清空分组}}return res;}
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/393611.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

mysql解锁_mysql 解锁

show OPEN TABLES where In_use > 0;show processlist;show status like Table%;show status like %lock%;show OPEN TABLES where In_use > 0&#xff1b;//1.查看当前数据库锁表的情况SELECT * FROM information_schema.INNODB_TRX;//2.杀掉查询结果中锁表的trx_mysql_…

强制换行和禁止换行

强制换行&#xff1a;word-break: break-all; 只对英文起作用&#xff0c;以字母作为换行依据word-wrap: break-word; 只对英文起作用&#xff0c;以单词作为换行依据white-space: pre-wrap; 只对中文起作用&#xff0c;强制换行禁止换行&#xff1a;white-space: now…

构建自己的简单微服务架构(开源)

构建自己的简单微服务架构&#xff08;开源&#xff09; 原文:构建自己的简单微服务架构&#xff08;开源&#xff09;前言 本篇仅作引导&#xff0c;内容较多&#xff0c;如果阅读不方便&#xff0c;可以使用电脑打开我们的文档官网进行阅读。如下图所示&#…

职业生涯愿景计算机,职业生涯愿景

《职业生涯愿景》由会员分享&#xff0c;可在线阅读&#xff0c;更多相关《职业生涯愿景(10页珍藏版)》请在人人文库网上搜索。1、职业生涯愿景职业生涯愿景设备安装技术是掌握本专业必需的基本理论知识&#xff0c;具有设备制造、安装、调试、管理、设计。施工方案编制的专业技…

leetcode881. 救生艇(贪心算法加双指针)

第 i 个人的体重为 people[i]&#xff0c;每艘船可以承载的最大重量为 limit。 每艘船最多可同时载两人&#xff0c;但条件是这些人的重量之和最多为 limit。 返回载到每一个人所需的最小船数。(保证每个人都能被船载)。 示例 1&#xff1a; 输入&#xff1a;people [1,2]…

react避免子组件渲染_如何与React一起使用正确的方法来避免一些常见的陷阱

react避免子组件渲染One thing I hear quite often is “Let’s go for Redux” in our new React app. It helps you scale, and the App data shouldn’t be in React local state because it is inefficient. Or when you call an API and while the promise is pending, th…

[转载]Spring配置文件详解一:

2019独角兽企业重金招聘Python工程师标准>>> 原文地址&#xff1a;Spring配置文件详解一&#xff1a;<context:annotation-config/>与<context:component-scan base-package"com.xx 作者&#xff1a;爱情随遇而安 <context:annotation-config/>…

mysql 8.0.16修改root密码_mysql 8.0.16 winx64及Linux修改root用户密码 的方法

连接数据库等基础操作请自行解决哈&#xff0c;本篇是重点记录如何改密码。一、查询用户密码:查询用户密码命令&#xff1a;select host, user, authentication_string from mysql.user ;host&#xff1a;允许用户登录的ip‘位置%表示可以远程&#xff1b;user&#xff1a;当前…

舞台设计

舞台设计 #include<iostream> #include<cstring> #include<algorithm> #include<cmath> #include<cstdio> #include<queue> using namespace std;int ucol[1005],dcol[1005],lrow[1005],rrow[1005]; int numr[1005],numc[1005]; int a[100…

LoadRunner11支持的浏览器小结

LoadRunner11支持的浏览器小结转载于:https://www.cnblogs.com/zwh-Seeking/articles/11060154.html

手机计算机的隐藏小技巧,涨知识!MIUI计算器原来有这么多隐藏小技巧,最后一个绝对想不到...

原标题&#xff1a;涨知识&#xff01;MIUI计算器原来有这么多隐藏小技巧&#xff0c;最后一个绝对想不到计算器除了我们需要进行日常的计算以外&#xff0c;几乎是用不到的。但是MIUI中的计算器与普通计算器可不同&#xff0c;里面的隐藏小技巧足以让你震惊到&#xff0c;那么…

如何使用JavaScript中的工厂函数构建可靠的对象

Discover Functional JavaScript was named one of the best new Functional Programming books by BookAuthority!“发现功能JavaScript”被BookAuthority评为最佳新功能编程书籍之一 &#xff01; I suggest to take into consideration these ideas for building reliable …

leetcode99. 恢复二叉搜索树(优先队列)

二叉搜索树中的两个节点被错误地交换。请在不改变其结构的情况下&#xff0c;恢复这棵树。示例 1:输入: [1,3,null,null,2]1/3\2输出: [3,1,null,null,2]3/1\2代码 /*** Definition for a binary tree node.* public class TreeNode {* int val;* TreeNode left;* …

Android零基础入门第83节:Activity间数据传递方法汇总

2019独角兽企业重金招聘Python工程师标准>>> 在Activity间传递的数据一般比较简单&#xff0c;但是有时候实际开发中也会传一些比较复杂的数据&#xff0c;本节一起来学习更多Activity间数据的传递。 一、常用数据类型 在前面几节我们只学习了一些常用类型的数据传递…

mysql gz 安装_Linux下安装mysql 5.7.17.tar.gz的教程详解

1.创建MySQL组和mysql用户groupadd mysqluseradd -r -g mysql mysql2.拷贝&#xff1a;cp -R mysql-5.7.16-linux-glibc2.5-i686 /usr/local/mysql3.创建data目录mkdir /usr/local/mysql/data3.安装数据库切换到/usr/loca/mysql目录下cd /usr/local/mysql修改当前目录的所有者为…

02-c#基础之01-基础语法(一)

1.注释符 1&#xff09;注销 2) 解释 2.C#中的3种注释符 1&#xff09;单行注释// 2)多行注释/*要注释的内容*/ 3)文档注释///多用来解释类或者方法 2.VS中的快捷键 转载于:https://www.cnblogs.com/yoyo-524/p/6502827.html

day01_初识python

编译型&#xff1a;一次性将所有的代码编译呈二进制文件。C/C 优点&#xff1a;执行效率高 缺点&#xff1a;开发速度慢&#xff0c;不能跨平台 解释型&#xff1a;当程序运行时&#xff0c;从上到下一行一行的解释为二进制文件 优点&#xff1a;开发效率快&#xff0c;可以跨平…

leetcode1414. 和为 K 的最少斐波那契数字数目(贪心算法)

给你数字 k &#xff0c;请你返回和为 k 的斐波那契数字的最少数目&#xff0c;其中&#xff0c;每个斐波那契数字都可以被使用多次。 斐波那契数字定义为&#xff1a; F1 1 F2 1 Fn Fn-1 Fn-2 &#xff0c; 其中 n > 2 。 数据保证对于给定的 k &#xff0c;一定能找…

四五六年级计算机教学计划,五六年级信息技术教学计划

五六年级信息技术教学计划一、大纲对本册教材的要求作为小学阶段的信息技术课程&#xff0c;应以学生对计算机的学习心理、学习行为和学习方法为背景&#xff0c;把计算机基础知识和计算机最新应用融于一体&#xff0c;使之既体现信息技术学科的教学理论&#xff0c;又吸收现代…

ios 跨域_如何在iOS和Android中建立跨域通信桥

ios 跨域I was working on a certain project at work, in which I needed to connect several varying components via messages. Each had its own logic and code language. This made me want to understand all the ways different platforms enable communication.我正在…