摘要: 题意:求排序后相邻元素间的最大差值。 分析:因为要求T(n)=S(n)=O(n),所以基数排序。 class Solution { public: int rank[10000010]; int cnt[10]; void RadixSort(vector<int>& nums, int base) 阅读全文
posted @ 2020-03-30 17:29 Somnuspoppy 阅读(184) 评论(0) 推荐(0) 编辑
摘要: 题意:按颜色进行排序。 分析:荷兰国旗问题三分partition S(n)=O(1) class Solution { public: void sortColors(vector<int>& nums) { int len = nums.size(); int less = -1; int mor 阅读全文
posted @ 2020-03-30 17:08 Somnuspoppy 阅读(127) 评论(0) 推荐(0) 编辑
摘要: 题意:按照字符出现次数对字符串排序。 class Solution { public: map<char, int> mp; vector<char> v[1000010]; string frequencySort(string s) { int len = s.size(); for(int i 阅读全文
posted @ 2020-03-30 14:36 Somnuspoppy 阅读(140) 评论(0) 推荐(0) 编辑
摘要: 题意:求出现频率最多的 k 个元素。 分析:统计每个元素出现次数,按出现次数将元素分组,然后按频率从高到低取k个元素。 class Solution { public: vector<int> v[100010]; vector<int> topKFrequent(vector<int>& nums 阅读全文
posted @ 2020-03-30 10:56 Somnuspoppy 阅读(225) 评论(0) 推荐(0) 编辑