1.10 面试经典150题-多数元素

多数元素

Go

go 复制代码
func majorityElement(nums []int) int {
    numMap := make(map[int]int)
    for _, v := range nums {
        n, ok := numMap[v]
        if ok {
            numMap[v] = n + 1
        } else {
            numMap[v] = 1
        }
        if numMap[v] > len(nums) / 2 {
            return v
        }
    }
    return -1
}

解题思路:采用map结构保存每个元素出现的次数,当找到某个值出现次数超过半数后,则返回

python

python 复制代码
class Solution:
    def majorityElement(self, nums: List[int]) -> int:
        nums.sort()
        return nums[len(nums) // 2]

解题思路:排序后,有序数组的中位数则为多数元素

相关推荐
Selvaggia6 小时前
Diffusion Model 的基本原理与模型架构
算法
wabs6667 小时前
关于二叉树【力扣572.另一棵树的子树的思考】
数据结构·c++·算法·leetcode·二叉树
hanlin037 小时前
刷题笔记:力扣第41题-缺失的第一个正数
笔记·算法·leetcode
shehuiyuelaiyuehao8 小时前
算法50,分治归并,数组中的逆序对
java·算法
阳明山水8 小时前
校准分位数驱动智能库存决策
人工智能·深度学习·算法·机器学习·架构
别动我齐刘海10 小时前
ROS2 Jazzy + C++ 实战路线——进阶学习3
c++·人工智能·vscode·python·算法·机器学习·机器人
zhangfeng113310 小时前
《从“人工适配“到“智能生成“:KernelSwift 跨国产芯片算子迁移全栈方案解读》 —— 强调范式跃迁和跨硬件属性,适合偏架构分析的写法
人工智能·算法·华为·ai编程·npu
0+11110 小时前
算法 --滑动窗口
c++·算法·leetcode
reikocao10 小时前
大场景下 Hessian 特征值放大与退化检测
算法
hetao173383711 小时前
2026-09-18 hetao1733837 的刷题记录
c++·算法