LeetCode 169. 求众数(摩尔投票)

文章目录

    • 1. 题目信息
    • 2. 解题思路
    • 3. 代码
      • 3.1 排序
      • 3.2 map计数
      • 3.3 摩尔投票

1. 题目信息

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

你可以假设数组是非空的,并且给定的数组总是存在众数。

示例 1:输入: [3,2,3]
输出: 3
示例 2:输入: [2,2,1,1,1,2,2]
输出: 2

来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/majority-element
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

2. 解题思路

  • 根据题意肯定存在,先排序,然后返回n/2下标处的值,时间复杂度O(n2)
  • 哈希map,查找key,value计数,时间复杂度O(n)
  • 摩尔投票法,时间复杂度O(n)

相关题目:LeetCode 229. 求众数 II(摩尔投票)

3. 代码

在这里插入图片描述

3.1 排序

class Solution
{
public:int majorityElement(vector<int>& nums){sort(nums.begin(),nums.end());return nums[nums.size()/2];}
};

3.2 map计数

class Solution
{
public:int majorityElement(vector<int>& nums){unordered_map<int, int> m;for(int i = 0; i < nums.size(); ++i){m[nums[i]]++;if(m[nums[i]] > nums.size()/2)return nums[i];}return 0;}
};

3.3 摩尔投票

class Solution {//摩尔投票
public:int majorityElement(vector<int>& nums) {int i, maj, count = 0, n = 0;for(i = 0; i < nums.size(); ++i){if(count == 0){maj = nums[i];count++;}else{if(maj == nums[i])count++;elsecount--;}}for(i = 0; i < nums.size(); ++i){if(maj == nums[i])n++;}if(n > nums.size()/2)return maj;return -1;}
};

《剑指Offer》同题:面试题39. 数组中出现次数超过一半的数字
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/479943.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

阿里P8架构师谈:JVM的内存分配、运行原理、回收算法机制

不管是BAT面试&#xff0c;还是工作实践中的JVM调优以及参数设置&#xff0c;或者内存溢出检测等&#xff0c;都需要涉及到Java虚拟机的内存模型、内存分配&#xff0c;以及回收算法机制等&#xff0c;这些都是必考、必会技能。 JVM内存模型 JVM内存模型可以分为两个部分&…

我的BERT!改改字典,让BERT安全提速不掉分(已开源)

文 | 苏剑林编 | 小轶背景当前&#xff0c;大部分中文预训练模型都是以字为基本单位的&#xff0c;也就是说中文语句会被拆分为一个个字。中文也有一些多粒度的语言模型&#xff0c;比如创新工场的ZEN和字节跳动的AMBERT&#xff0c;但这类模型的基本单位还是字&#xff0c;只不…

2020年考证时间表汇总!这些证书值得拥有!

原文地址&#xff1a; https://zhuanlan.zhihu.com/p/100824416 2020年考证时间表汇总&#xff01;这些证书值得拥有&#xff01;已认证的官方帐号154 人赞同了该文章昨日之日不可留&#xff0c;2019年已然过去&#xff0c;2020年的我们不能再一成不变&#xff01;快根据自身情…

征稿 | 2019年全国知识图谱与语义计算大会(CCKS2019)第二轮征稿启事

2019年全国知识图谱与语义计算大会China Conference on Knowledge Graph and Semantic Computing (CCKS 2019)2019年8月24日-27日&#xff0c;杭州征稿截止: 2019年5月18日全国知识图谱与语义计算大会&#xff08;CCKS: China Conference on Knowledge Graph and Semantic Comp…

直通BAT必考题系列:JVM的4种垃圾回收算法、垃圾回收机制与总结

BAT必考JVM系列专题 直通BAT必考题系列&#xff1a;深入详解JVM内存模型与JVM参数详细配置 垃圾回收算法 1.标记清除 标记-清除算法将垃圾回收分为两个阶段&#xff1a;标记阶段和清除阶段。 在标记阶段首先通过根节点&#xff08;GC Roots&#xff09;&#xff0c;标记所…

遗传算法及其应用实现

使用遗传算法求解函数具有最大值的点X """ Visualize Genetic Algorithm to find a maximum point in a function. """ import numpy as np import matplotlib.pyplot as pltDNA_SIZE 10 # DNA length POP_SIZE 100 # population size CROSS…

论文浅尝 | 一种嵌入效率极高的 node embedding 方式

论文笔记整理&#xff1a;叶群&#xff0c;浙江大学计算机学院&#xff0c;知识图谱、NLP方向。会议&#xff1a;WSDM 2019链接&#xff1a;https://dl.acm.org/citation.cfm?id3290961Motivation基于spring-electrical的模型在网络可视化中取得了非常成功的应用&#xff0c;一…

重要的,是那些训练中被多次遗忘的样本

文 | kid丶源 | 知乎编 | 兔子酱今天跟大家分享一篇很有意思的文章&#xff0c;是一篇探讨深度学习模型记忆&遗忘机制的文章&#xff0c;是一篇角度很新颖的题材&#xff0c;同时又有一定启发作用。这篇文章发表在深度学习顶会ICLR19&#xff0c;标题是《An empirical stud…

直通BAT必考题系列:7种JVM垃圾收集器特点,优劣势、及使用场景

直通BAT之JVM系列 直通BAT必考题系列&#xff1a;JVM的4种垃圾回收算法、垃圾回收机制与总结 直通BAT必考题系列&#xff1a;深入详解JVM内存模型与JVM参数详细配置 今天继续JVM的垃圾回收器详解&#xff0c;如果说垃圾收集算法是JVM内存回收的方法论&#xff0c;那么垃圾收集…

模拟嫁接技术

模拟嫁接技术&#xff1a;定义嫁接算子及策略剪接算子及策略GPOGA算法总结定义 收益和代价 对一棵生成树 T1&#xff0c;若将某结点的一条分枝移至另一结点作为其一条分枝后产生的生成树为 T2&#xff0c;考察分枝移动前后生成树的边长和的变化&#xff0c;则定义收益(gain)和…

HuggingFace又出炼丹神器!稀疏矩阵运算进入平民化时代!

文 | rumor酱编 | YY一提到模型加速&#xff0c;大家首先想到的就是蒸馏、&#xff08;结构性&#xff09;剪枝、量化&#xff08;FP16&#xff09;&#xff0c;然而稀疏矩阵&#xff08;sparse matrix&#xff09;运算一直不被大家青睐。原因也很简单&#xff0c;一是手边没有…

章乐焱 | 用“科技”监管“科技”,知识图谱能做什么?

本文转载自公众号&#xff1a;恒生技术之眼。人工智能、大数据等前沿科技的爆发&#xff0c;推动金融科技进入了一个崭新的时代&#xff0c;也成为监管科技发展的重要推动力。在这个Fintech的黄金时代&#xff0c;前沿科技正在如何赋能监管&#xff1f;这方面&#xff0c;恒生公…

LeetCode 23. 合并K个排序链表(优先队列)

文章目录1. 题目信息2. 思路3. 代码1. 题目信息 合并 k 个排序链表&#xff0c;返回合并后的排序链表。请分析和描述算法的复杂度。 示例:输入: [1->4->5,1->3->4,2->6 ] 输出: 1->1->2->3->4->4->5->6来源&#xff1a;力扣&#xff08;…

直通BAT必考题系列:JVM性能调优的6大步骤,及关键调优参数详解

JVM系列 直通BAT必考题系列&#xff1a;7种JVM垃圾收集器特点&#xff0c;优劣势、及使用场景 直通BAT必考题系列&#xff1a;JVM的4种垃圾回收算法、垃圾回收机制与总结 直通BAT必考题系列&#xff1a;深入详解JVM内存模型与JVM参数详细配置 JVM内存调优 对JVM内存的系统级…

论文浅尝 | 知识图谱三元组置信度的度量

论文笔记整理&#xff1a;叶橄强&#xff0c;浙江大学计算机学院&#xff0c;知识图谱和知识推理方向。https://arxiv.org/pdf/1809.09414.pdf动机在构建知识图谱的过程中&#xff0c;不可避免地会产生噪声和冲突。基于知识图谱的任务或应用一般默认假定知识图谱中的知识是完全…

跟小伙伴们做了个高效刷论文的小站

好久木有在知乎冒泡了&#xff0c;不知道还能不能出现在大家的timeline上哇QAQ正文开始之前还是先习惯性的碎碎念一下。前段时间换了研究方向&#xff0c;重新pick了问答和检索&#xff0c;为了追上相关问题的最新进展&#xff0c;就顾不上写文的刷了一堆paper&#xff0c;加上…

模拟进化与遗传算法

遗传算法是目前研究得最为广泛的一类模拟进化算法。 假定考虑全局优化问题&#xff08;P&#xff09;。遗传算法基于以下两条基本策略求解问题&#xff1a; 对于给定的目标函数F&#xff0c;它使用&#xff26;的任一适应性函数&#xff08;换言之&#xff0c;一个值域非负、…

消息中间件系列(六):什么是流量削峰?如何解决秒杀业务的削峰场景

流量削峰的由来 主要是还是来自于互联网的业务场景&#xff0c;例如&#xff0c;马上即将开始的春节火车票抢购&#xff0c;大量的用户需要同一时间去抢购&#xff1b;以及大家熟知的阿里双11秒杀&#xff0c; 短时间上亿的用户涌入&#xff0c;瞬间流量巨大&#xff08;高并发…

论文浅尝 | 基于深度序列模型的知识图谱补全

本文转载自公众号&#xff1a;DI数据智能。 Learning to Complete Knowledge Graphs with Deep Sequential Models作者&#xff1a;郭凌冰、张清恒、胡伟、孙泽群、瞿裕忠单位&#xff1a;南京大学供稿&#xff1a;胡伟引用L. Guo, Q. Zhang, W. Hu, Z. Sun, & Y. Qu. …

拨开算力的迷雾:聊聊不同 GPU 计算能力的上限

文 | 卜居知乎编 | 兔子酱通过深入了解自己手头 GPU 的计算能力上限&#xff0c;能够在买新卡时做出更理性判断。本文深入GPU架构&#xff0c;重点介绍了其中的ampere架构。另外&#xff0c;作者还对比了不同GPU之间的峰值计算能力&#xff0c;增加读者对硬件资源的了解。前言2…