思路:先统计每个数字出现的次数,然后按照出现次数从高到低排序,依次将数字放入行中,如果放满一行则加入结果列表中,重复该过程直到所有数字都被放入行中。

时间复杂度:O(nlogn),排序的时间复杂度为O(nlogn),遍历一遍数组的时间复杂度为O(n)。

空间复杂度:O(n),需要使用哈希表存储每个数字出现的次数。

代码如下:

输入:nums = 1341231输出:1342131解释:根据题目要求可以创建包含以下几行元素的二维数组:- 1342- 13- 1nums 中的所有元素都有用到并且每一行都由不同的整数组成所以这是一个符合题目要求的答案。可以证明无法创建少于三行且符合题目要求的二维数组。class Solution public ListListInteger findMatrixint nums

原文地址: https://www.cveoy.top/t/topic/bK3d 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录