【Leetcode】1054. Distant Barcodes
创始人
2024-02-03 22:47:11
0

题目地址:

https://leetcode.com/problems/distant-barcodes/description/

给定一个长nnn数组AAA,要求重排之,使得相邻数字不同。题目保证答案存在。

直觉上,只需按频率从大到小排序,然后依次排在0,2,4,...0,2,4,...0,2,4,...这些位置,越界了则再从1,3,5...1,3,5...1,3,5...排即可。可以证明这样的方法一定成立,如果存在某两个相邻的位置数字相等,那么这个数字一定出现了⌈n2⌉\lceil \frac{n}{2}\rceil⌈2n​⌉次(或者更多,但是更多的话就无解了),而这样的数只能有一个,并且一定是第一轮已经排好了,就矛盾了。代码如下:

class Solution {public:using PII = pair;vector rearrangeBarcodes(vector &bs) {unordered_map mp;for (int x : bs) mp[x]++;vector v;for (auto &[k, c] : mp) v.push_back({c, k});sort(v.begin(), v.end(), greater());int idx = 0;for (auto &p : v)for (int i = 0; i < p.first; i++) {bs[idx] = p.second;idx += 2;if (idx >= bs.size()) idx = 1;}return bs;}
};

时间复杂度O(nlog⁡n)O(n\log n)O(nlogn),空间O(n)O(n)O(n)。

相关内容

热门资讯

喜欢穿一身黑的男生性格(喜欢穿... 今天百科达人给各位分享喜欢穿一身黑的男生性格的知识,其中也会对喜欢穿一身黑衣服的男人人好相处吗进行解...
发春是什么意思(思春和发春是什... 本篇文章极速百科给大家谈谈发春是什么意思,以及思春和发春是什么意思对应的知识点,希望对各位有所帮助,...
网络用语zl是什么意思(zl是... 今天给各位分享网络用语zl是什么意思的知识,其中也会对zl是啥意思是什么网络用语进行解释,如果能碰巧...
为什么酷狗音乐自己唱的歌不能下... 本篇文章极速百科小编给大家谈谈为什么酷狗音乐自己唱的歌不能下载到本地?,以及为什么酷狗下载的歌曲不是...
华为下载未安装的文件去哪找(华... 今天百科达人给各位分享华为下载未安装的文件去哪找的知识,其中也会对华为下载未安装的文件去哪找到进行解...
怎么往应用助手里添加应用(应用... 今天百科达人给各位分享怎么往应用助手里添加应用的知识,其中也会对应用助手怎么添加微信进行解释,如果能...
家里可以做假山养金鱼吗(假山能... 今天百科达人给各位分享家里可以做假山养金鱼吗的知识,其中也会对假山能放鱼缸里吗进行解释,如果能碰巧解...
四分五裂是什么生肖什么动物(四... 本篇文章极速百科小编给大家谈谈四分五裂是什么生肖什么动物,以及四分五裂打一生肖是什么对应的知识点,希...
一帆风顺二龙腾飞三阳开泰祝福语... 本篇文章极速百科给大家谈谈一帆风顺二龙腾飞三阳开泰祝福语,以及一帆风顺二龙腾飞三阳开泰祝福语结婚对应...
美团联名卡审核成功待激活(美团... 今天百科达人给各位分享美团联名卡审核成功待激活的知识,其中也会对美团联名卡审核未通过进行解释,如果能...