博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【leetcode】Majority Element (easy)(*^__^*)
阅读量:5345 次
发布时间:2019-06-15

本文共 865 字,大约阅读时间需要 2 分钟。

Given an array of size n, find the majority element. The majority element is the element that appears more than ⌊ n/2 ⌋ times.

You may assume that the array is non-empty and the majority element always exist in the array.

 

思路:

找主要元素,用major记录主要字母,n记录major相对于其他字母多出现的次数

if         n == 0 , 设当前数字为主要数字

else if   当前数字等于主要数字, n++

else     当前数字不等于主要数字, n--

 

因为主要数字出现多于一半,所以最后major表示的一定是主要数字。

没测试就一次AC了 

class Solution {public:    int majorityElement(vector
&num) { int major; int n = 0; for(int i = 0; i < num.size(); i++) { if(n == 0) { major = num[i]; n++; } else if(major == num[i]) { n++; } else { n--; } } return major; }};

 

转载于:https://www.cnblogs.com/dplearning/p/4214245.html

你可能感兴趣的文章
C# Fade Form Effect With the AnimateWindow API Function
查看>>
golang多维数组的切片
查看>>
IP 网际协议
查看>>
C语言_第五章__实践(密码转换)
查看>>
docker 容器后台运行命令
查看>>
jquery 获取css position的值
查看>>
面向对象的程序设计
查看>>
a标签添加点击事件
查看>>
Context.startActivity出现AndroidRuntimeException
查看>>
Intellij idea创建javaWeb以及Servlet简单实现
查看>>
代理网站
查看>>
Open multiple excel files in WebBrowser, only the last one gets activated
查看>>
FFmpeg进行视频帧提取&音频重采样-Process.waitFor()引发的阻塞超时
查看>>
最近邻与K近邻算法思想
查看>>
【VS开发】ATL辅助COM组件开发
查看>>
FlatBuffers In Android
查看>>
《演说之禅》I &amp; II 读书笔记
查看>>
thinkphp3.2接入支付宝支付接口(PC端)
查看>>
response和request
查看>>
【转】在Eclipse中安装和使用TFS插件
查看>>