题解 | #农场牛群众数#
题目考察的知识点
- 数组操作:题目要求找出数组中的众数。
题目解答方法的文字分析
- 创建一个Map来记录每个数字出现的次数。
- 创建变量
amount和value,用于记录当前出现次数最多的数字和次数。 - 创建一个数组
arr,用于存储每个位置上的众数。 - 遍历输入数组
nums。- 对于每个数字,使用
map来记录它的出现次数。 - 获取当前数字的出现次数
count。 - 如果
count大于amount,则更新value和amount为当前数字和次数。 - 如果
count等于amount,则将value更新为当前数字和value中的最大值。 - 将
value赋值给arr数组的当前位置,记录位置上的众数。
- 对于每个数字,使用
- 返回
arr数组。
本题解析所用的编程语言
本题的解析使用了JavaScript作为编程语言。
完整且正确的编程代码
function findMode(nums) {
let map = new Map();
let amount = 0;
let value = 0;
let arr = new Array(nums.length);
for (let i = 0; i < nums.length; i++) {
map.set(nums[i], (map.get(nums[i]) || 0) + 1);
let count = map.get(nums[i]);
if (count > amount) {
value = nums[i];
amount = count;
} else if (count === amount) {
value = Math.max(value, nums[i]);
}
arr[i] = value;
}
return arr;
}
题解 | 前端刷题 文章被收录于专栏
题目考察的知识点 题目解答方法的文字分析 本题解析所用的编程语言 完整且正确的编程代码
