最后
Java架构学习技术内容包含有:Spring,Dubbo,MyBatis, RPC, 源码分析,高并发、高性能、分布式,性能优化,微服务 高级架构开发等等。
还有Java核心知识点+全套架构师学习资料和视频+一线大厂面试宝典+面试简历模板可以领取+阿里美团网易腾讯小米爱奇艺快手哔哩哔哩面试题+Spring源码合集+Java架构实战电子书+2021年最新大厂面试题。
}
}
var majorityElement = function(nums) {
nums.sort((a,b) => a-b);
return nums[Math.floor(nums.length/2)];
};
方法二:哈希表
遍历哈希表操作的四种方法:https://blog.csdn.net/kyi_zhu123/article/details/52769469
我们使用哈希映射(HashMap)来存储每个元素以及出现的次数。对于哈希映射中的每个键值对,键表示一个元素,值表示该元素出现的次数。
我们用一个循环遍历数组 nums 并将数组中的每个元素加入哈希映射中。在这之后,我们遍历哈希映射中的所有键值对,返回值最大的键。我们同样也可以在遍历数组 nums 时候使用打擂台的方法,维护最大的值,这样省去了最后对哈希映射的遍历。
class Solution {
public int majorityElement(int[] nums) {
Map<Integer, Integer> counts = countNums(nums);
Map.Entry<Integer, Integer> major = null;
for(Map.Entry<Integer, Integer> entry : counts.entrySet()){
if(major == null || entry.getValue() > major.getValue()){
major = entry;
}
}
return major.getKey();
}
private Map<Integer, Integer> countNums(int[] nums){
Map<Integer, Integer> counts = new HashMap<Integer, Integer>();
for(int num : nums){
if(!counts.containsKey(num)){
counts.put(num, 1);
}else{
counts.put(num, counts.get(num)+1);
}
}
return counts;
}
}
/**
-
@param {number[]} nums
-
@return {number}
*/
var majorityElement = function(nums) {
let map = new Map()
for(let i = 0; i < nums.length; i++){
if(map.has(nums[i])){
map.set(nums[i], map.get(nums[i])+1)
}else{
map.set(nums[i], 1)
本次面试答案,以及收集到的大厂必问面试题分享:
45ff00ff254613a03fab5e56a57acb)收录**