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]

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

相关推荐
吃好睡好便好13 小时前
查找函数的使用
学习·算法·matlab·生活·查找函数
学习星球13 小时前
单调栈——从“找下一个更大的“到柱状图中的最大矩形
数据库·c++·算法·leetcode·xcode
靠沿14 小时前
贪心算法专题(二)
算法·贪心算法
猎头南楼15 小时前
具身智能模型部署方向的能力要求与技术栈梳理
人工智能·深度学习·算法
啥都想学点的研究生16 小时前
一篇文章讲清楚:线性回归问题的求解——正规方程法
算法·机器学习·线性回归
青少儿编程课堂16 小时前
树状数组精讲:逆序对计数与离散化(附双语言解法)
算法·树状数组·离散化·信息学奥赛·逆序对
血小板要健康16 小时前
网格 dfs 与 FloodFill:从岛屿、区域到搜索路径
笔记·算法·leetcode·深度优先
VALENIAN瓦伦尼安教学设备17 小时前
设备状态检测振动分析实训台案例分析
大数据·数据库·人工智能·嵌入式硬件·算法
小小晓.17 小时前
C++ 值类别与完美转发深度剖析:从左值右值到 std::forward 源码解密
开发语言·c++·算法
怕浪猫17 小时前
用了两年 AI 编程工具后,我重新理解了什么是「资深工程师」
算法·面试·架构