2哥 : 3妹,最近有個電視劇《繁花》非?;??,你聽說了嗎?
3妹:沒有,最近一直在忙著找工作,哪有時間看電視啊
2哥 : ???大周末還不休息一下啊,這么辛苦。
3妹:當然了,工作第一,娛樂第二!不過我聽說這部劇被央視評為“孤品”, 以后有時間了一定要追一追。
2哥:是啊,眾星云集,不可錯過。
3妹:2哥墮落了,開始跟我討論電視劇了,都不跟我討論刷題了呢,今天的周賽你做了嗎?讓我來給你出道題吧~
2哥:好啊,讓我也康一康~
題目:
給你一個由 正整數(shù) 組成的數(shù)組 nums 。
返回數(shù)組 nums 中所有具有 最大 頻率的元素的 總頻率 。
元素的 頻率 是指該元素在數(shù)組中出現(xiàn)的次數(shù)。
示例 1:
輸入:nums = [1,2,2,3,1,4]
輸出:4
解釋:元素 1 和 2 的頻率為 2 ,是數(shù)組中的最大頻率。
因此具有最大頻率的元素在數(shù)組中的數(shù)量是 4 。
示例 2:
輸入:nums = [1,2,3,4,5]
輸出:5
解釋:數(shù)組中的所有元素的頻率都為 1 ,是最大頻率。
因此具有最大頻率的元素在數(shù)組中的數(shù)量是 5 。
提示:
1 <= nums.length <= 100
1 <= nums[i] <= 100文章來源:http://www.zghlxwxcb.cn/news/detail-809293.html
思路:
遍歷,
先統(tǒng)計每個元素的頻率,再計算頻率最大的數(shù)累加。文章來源地址http://www.zghlxwxcb.cn/news/detail-809293.html
java代碼:
class Solution {
public int maxFrequencyElements(int[] nums) {
int maxf = 0;
Map<Integer, Integer> map = new HashMap();
for(int i=0;i<nums.length;i++) {
int f = map.getOrDefault(nums[i], 0);
map.put(nums[i], f+1);
maxf = Math.max(maxf, f+1);
}
int result = 0;
for(Map.Entry<Integer, Integer> entry:map.entrySet()) {
if(entry.getValue()==maxf) {
result+=maxf;
}
}
return result;
}
}
到了這里,關于【教3妹學編程-算法題】最大頻率元素計數(shù)的文章就介紹完了。如果您還想了解更多內容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!