多数元素 (3.12 leetcode每日打卡)

给定一个大小为 n 的数组,找到其中的多数元素。多数元素是指在数组中出现次数大于 ⌊ n/2 ⌋ 的元素。
你可以假设数组是非空的,并且给定的数组总是存在多数元素。
示例 1:
输入: [3,2,3]
输出: 3
示例 2:
输入: [2,2,1,1,1,2,2]
输出: 2
 
思路:也是一个很巧妙的一个题,一开始采用暴力递归运行超时,看了一下思路,既然大于n/2,那就直接排序取n/2的元素即可,用了一下冒泡排序,依然超时。。最后! 用qsort快排函数通过!
复制代码
 1 int cmp(const void *a, const void *b)
 2 {
 3     return (*(int *)a-*(int *)b);
 4 }
 5 
 6 int majorityElement(int* nums, int numsSize)
 7 {
 8     qsort(nums,numsSize,sizeof(int),cmp);
 9    
10    return nums[numsSize/2];
11 }
复制代码

 

posted @   Xxaj5  阅读(143)  评论(0编辑  收藏  举报
编辑推荐:
· DeepSeek 解答了困扰我五年的技术问题
· 为什么说在企业级应用开发中,后端往往是效率杀手?
· 用 C# 插值字符串处理器写一个 sscanf
· Java 中堆内存和栈内存上的数据分布和特点
· 开发中对象命名的一点思考
阅读排行:
· 为什么说在企业级应用开发中,后端往往是效率杀手?
· DeepSeek 解答了困扰我五年的技术问题。时代确实变了!
· 本地部署DeepSeek后,没有好看的交互界面怎么行!
· 趁着过年的时候手搓了一个低代码框架
· 推荐一个DeepSeek 大模型的免费 API 项目!兼容OpenAI接口!
点击右上角即可分享
微信分享提示