永安网站制作,医院网站建设运营方案,网站的静态页面谁做,17做网店网站多数元素|| 题目及要求哈希算法 题目及要求
给定一个大小为 n 的整数数组#xff0c;找出其中所有出现超过 ⌊ n/3 ⌋ 次的元素。
示例 1#xff1a;
输入#xff1a;nums [3,2,3] 输出#xff1a;[3] 示例 2#xff1a;
输入#xff1a;nums [1] 输出#xff1a;… 多数元素|| 题目及要求哈希算法 题目及要求
给定一个大小为 n 的整数数组找出其中所有出现超过 ⌊ n/3 ⌋ 次的元素。
示例 1
输入nums [3,2,3] 输出[3] 示例 2
输入nums [1] 输出[1] 示例 3
输入nums [1,2] 输出[1,2]
提示
1 nums.length 5 * 104 -109 nums[i] 109
进阶尝试设计时间复杂度为 O(n)、空间复杂度为 O(1)的算法解决此问题。
哈希算法
思路存入哈希表然后遍历哈希找出符合的数存入到ans中即可 时间复杂度为:O(n) 空间复杂度为:O(n)
class Solution {
public:vectorint majorityElement(vectorint nums) {int nnums.size();vectorintans; //记录出现的元素unordered_mapint,inthash;for(auto num:nums){hash[num]; //存入哈希表}for(auto h:hash){if(h.secondn/3){ ans.push_back(h.first); //将出现n/3次的元素加入到ans中}}return ans;}
};