news 2026/5/12 9:18:30

LeetCode 多数元素题解

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
LeetCode 多数元素题解

LeetCode 多数元素题解

题目描述

给定一个大小为 n 的数组,找到其中的多数元素。多数元素是指出现次数超过 ⌊ n/2 ⌋ 的元素。

示例

输入:nums = [3,2,3]
输出:3

解题思路

方法:分治

思路

  • 使用分治思想解决多数元素问题。
  • 将数组分成左右两部分,递归找出左右两部分的多数元素。
  • 如果左右两部分的多数元素相同,返回该元素。
  • 否则,统计该元素在整个数组中的出现次数,返回出现次数较多的元素。

复杂度分析

  • 时间复杂度:O(n log n)。
  • 空间复杂度:O(log n)。

代码实现

方法:分治

# 多数元素(分治) def majority_element(nums): def helper(left, right): if left == right: return nums[left] mid = (left + right) // 2 left_major = helper(left, mid) right_major = helper(mid + 1, right) if left_major == right_major: return left_major left_count = sum(1 for i in range(left, right + 1) if nums[i] == left_major) right_count = sum(1 for i in range(left, right + 1) if nums[i] == right_major) return left_major if left_count > right_count else right_major return helper(0, len(nums) - 1) # 测试 def test_majority_element(): nums = [3, 2, 3] print(majority_element(nums)) # 输出:3 if __name__ == "__main__": test_majority_element()

总结

多数元素是分治思想的典型应用,通过递归分解问题,分别计算后合并结果。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/12 9:16:39

2026年Linux服务器头号威胁:PamDOORa PAM后门深度解析与防御实战

前言 2026年5月,俄罗斯暗网顶级黑客论坛Rehub曝光了一款名为PamDOORa的Linux PAM层后门工具,瞬间在全球网络安全圈引发震动。这款定价从1600美元降至900美元的黑产武器,并非简单的脚本小子工具,而是经过专业工程化设计的"认证…

作者头像 李华
网站建设 2026/5/12 9:15:53

CDFControl工具详解,搞定云桌面黑屏、卡顿、随机掉线疑难故障

一 前言 在企业Citrix云桌面运维工作中,我们经常遇到一类无明确报错、间歇性复现的疑难故障。常规Windows事件查看器日志干净无报错,常规DDC控制台监控无异常,但终端用户会频繁出现登录黑屏、会话卡顿、虚拟机随机掉线、VDA注册超时等问题。 很多运维人员遇到此类问题只能…

作者头像 李华
网站建设 2026/5/12 9:14:33

终极BT下载加速指南:Trackerslist免费Tracker优化方案

终极BT下载加速指南:Trackerslist免费Tracker优化方案 【免费下载链接】trackerslist Updated list of public BitTorrent trackers 项目地址: https://gitcode.com/GitHub_Trending/tr/trackerslist 还在为BT下载速度慢而烦恼吗?🚀 今…

作者头像 李华
网站建设 2026/5/12 9:08:46

PCB为什么一定要做耐电流测试?

印制电路板(PCB)作为电子元器件的载体和信号传输的基础,其可靠性与安全性直接影响整个系统的性能。尤其在当前高密度、高功率的电子产品中,电流承载能力成为PCB设计与制造的关键考量。耐电流测试通过模拟实际工作条件,…

作者头像 李华
网站建设 2026/5/12 9:08:40

如何快速解密QMC音频文件:qmc-decoder完整使用指南

如何快速解密QMC音频文件:qmc-decoder完整使用指南 【免费下载链接】qmc-decoder Fastest & best convert qmc 2 mp3 | flac tools 项目地址: https://gitcode.com/gh_mirrors/qm/qmc-decoder 你是否遇到过从音乐平台下载的歌曲无法在其他播放器播放的情…

作者头像 李华