![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
解题思想-排序
解题思想-排序
overlordmax
这个作者很懒,什么都没留下…
展开
-
349. 两个数组的交集
1.题目描述给定两个数组,编写一个函数来计算它们的交集。示例 1:示例 2:说明:1.输出结果中的每个元素一定是唯一的。2.我们可以不考虑输出结果的顺序。2.方法1分别遍历两个数组并用set保存每个数组的元素,元素较少的set记为s1,元素较多的set记为s2,遍历s1并查找当前遍历的元素是否存在于s2中,如果存在就加入结果数组。3.代码class Solution {public: vector<int> intersection(vector<int&原创 2021-01-12 16:05:58 · 67 阅读 · 0 评论 -
75. 颜色分类(荷兰国旗问题)
75. 颜色分类(荷兰国旗问题)1.题目描述给定一个包含红色、白色和蓝色,一共 n 个元素的数组,原地对它们进行排序,使得相同颜色的元素相邻,并按照红色、白色、蓝色顺序排列。此题中,我们使用整数 0、 1 和 2 分别表示红色、白色和蓝色。注意:不能使用代码库中的排序函数来解决这道题。示例:进阶:1.一个直观的解决方案是使用计数排序的两趟扫描算法。首先,迭代计算出0、1 和 2 元...原创 2020-02-15 11:27:54 · 267 阅读 · 0 评论 -
451. 根据字符出现频率排序
451. 根据字符出现频率排序1.题目描述给定一个字符串,请将字符串里的字符按照出现的频率降序排列。示例 1:示例 2:示例 3:2.思路(桶排序)遍历数组,统计每个字符出现的频率。创建二维数组,以频率作为一维的下标,字符作为二维的值。倒序遍历二维数组,把字符添加到结果字符串res中,每个字符添加频率次。3.代码class Solution {public: st...原创 2020-02-15 11:12:11 · 145 阅读 · 0 评论 -
347. 前 K 个高频元素
347. 前 K 个高频元素1.题目描述给定一个非空的整数数组,返回其中出现频率前 k 高的元素。示例 1:示例 2:说明:你可以假设给定的 k 总是合理的,且 1 ≤ k ≤ 数组中不相同的元素的个数。你的算法的时间复杂度必须优于 O(n log n) , n 是数组的大小。2.方法1(桶排序)首先使用哈希表统计数组元素的频率,统计完成后,创建一个二维数组,将频率作为数组第...原创 2020-02-14 22:17:14 · 83 阅读 · 0 评论 -
215. 数组中的第K个最大元素
215. 数组中的第K个最大元素在未排序的数组中找到第 k 个最大的元素。请注意,你需要找的是数组排序后的第 k 个最大的元素,而不是第 k 个不同的元素。示例 1:示例 2:说明:你可以假设 k 总是有效的,且 1 ≤ k ≤ 数组的长度。2.方法一(快速排序)利用快速排序的思想,对数组进行递减排序,把第k大的元素放到正确的位置。算法过程:1.利用partition()随机...原创 2020-02-14 20:02:30 · 109 阅读 · 0 评论