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]

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

相关推荐
信奥卷王6 小时前
[GESP202609 六级] 分树规划
算法
夏幻灵6 小时前
LeetCode 21:合并两个有序链表——双指针与哑节点详解
算法·leetcode·链表
徐小黑ACG7 小时前
Golang 基础05 结构体struct
开发语言·算法·golang
Navigator_Z8 小时前
LeetCode //C - 1286. Iterator for Combination
c语言·算法·leetcode
北极有牛8 小时前
cpp学习笔记--常量指针
java·开发语言·算法
GPU实战笔记8 小时前
云端 GPU 训练的账户余额提醒:它能说明什么,不能说明什么?
深度学习·算法·成本管理·gpu云计算·云端训练
浮链序9 小时前
怎么证明"你这个模型是偷我的"——把蒸馏变成取证工具
算法·安全·llm
小O的算法实验室9 小时前
IEEE TMC,面向异构物联网的多目标量子行为拓扑优化算法
算法
liliangcsdn9 小时前
派息率指标的应用探索和分析
大数据·算法