【leetcode刷题笔记】Majority Element
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.
题解:设置两个变量,一个是current,初始化为A[0];另一个是count,记录current这个元素当前为止出现的次数。然后遍历A,如果当前元素和current相等,则count加1;否则,看count是否为0,如果count已经为0,就直接把current赋值成当前元素;如果count不为0,就把count减一即可。
这个思路的根本就是找不相等的元素配对,如果有两个不相等的元素,就把他们两个抵消,那么最后没有抵消掉的那个元素,就是出现次数超过⌊ n/2 ⌋的。
JAVA版本代码:
public class Solution {
public int majorityElement(int[] num) {
int current = num[0];
int count = 0;
for(int i = 1;i < num.length;i++){
if(current == num[i])
count++;
else{
if(count >0){
count--;
}else {
current = num[i];
}
}
}
return current;
}
}
【leetcode刷题笔记】Majority Element的更多相关文章
- LeetCode刷题笔记和想法(C++)
主要用于记录在LeetCode刷题的过程中学习到的一些思想和自己的想法,希望通过leetcode提升自己的编程素养 :p 高效leetcode刷题小诀窍(这只是目前对我自己而言的小方法,之后会根据自己 ...
- 18.9.10 LeetCode刷题笔记
本人算法还是比较菜的,因此大部分在刷基础题,高手勿喷 选择Python进行刷题,因为坑少,所以不太想用CPP: 1.买股票的最佳时期2 给定一个数组,它的第 i 个元素是一支给定股票第 i 天的价格. ...
- LeetCode刷题笔记 - 12. 整数转罗马数字
学好算法很重要,然后要学好算法,大量的练习是必不可少的,LeetCode是我经常去的一个刷题网站,上面的题目非常详细,各个标签的题目都有,可以整体练习,本公众号后续会带大家做一做上面的算法题. 官方链 ...
- Leetcode刷题笔记(双指针)
1.何为双指针 双指针主要用来遍历数组,两个指针指向不同的元素,从而协同完成任务.我们也可以类比这个概念,推广到多个数组的多个指针. 若两个指针指向同一数组,遍历方向相同且不会相交,可以称之为滑动窗口 ...
- 【leetcode刷题笔记】Find Peak Element
A peak element is an element that is greater than its neighbors. Given an input array where num[i] ≠ ...
- leetcode刷题笔记
(1)Best Time to Buy and Sell Stock Total Accepted: 10430 Total Submissions: 33800My Submissions Say ...
- LeetCode刷题笔记(1-9)
LeetCode1-9 本文更多是作为一个习题笔记,没有太多讲解 1.两数之和 题目请点击链接 ↑ 最先想到暴力解法,直接双循环,但是这样复杂度为n平方 public int[] twoSum(int ...
- leetcode刷题笔记08 字符串转整数 (atoi)
题目描述 实现 atoi,将字符串转为整数. 在找到第一个非空字符之前,需要移除掉字符串中的空格字符.如果第一个非空字符是正号或负号,选取该符号,并将其与后面尽可能多的连续的数字组合起来,这部分字符即 ...
- 【leetcode刷题笔记】Remove Duplicates from Sorted List
Given a sorted linked list, delete all duplicates such that each element appear only once. For examp ...
随机推荐
- 【BZOJ】3538: [Usaco2014 Open]Dueling GPS(spfa)
http://www.lydsy.com/JudgeOnline/problem.php?id=3538 题意不要理解错QAQ,是说当前边(u,v)且u到n的最短距离中包含这条边,那么这条边就不警告. ...
- Ubuntu使用yah3c连接校园网
虽然网上有,但是我还是把这当作学习的一个过程记录下来,以备不时之需. 刚开始总是以为要上校园网就要用inode,所以总是百度谷歌不到方法,后来才知道yah3c不等同于inode,二者应该是并行的关系. ...
- css横向 弹性盒子布局的一些属性
<head> <meta charset="utf-8"> <meta name="viewport" content=" ...
- 一个简单的flask应用
一个简单的flask应用,文件名hello.py from flask import Flask app = Flask(__name__) @app.route('/') def hello_wor ...
- 解决WAS更新web.xml文件不生效的问题(web_merged.xml是罪魁祸首)
问题原因分析 近日碰到更新web.xml文件到WAS服务器(WebSphere Application Server 8.5.5.3)后,不生效的问题. 网上找了一圈,基本都是说WAS缓存引起的. 手 ...
- Asynchronous calls and remote callbacks using Lingo Spring Remoting
http://www.jroller.com/sjivan/entry/asynchronous_calls_and_callbacks_using Asynchronous calls and re ...
- ipad4丢失查找攻略
如果不幸你的ipad丢失了,你可以通过find my iphone的软件来.它会帮你定位你ipad的位置.还有一种方式是登录你的icloud里面有个功能是查找我的iphone. 你还可以点击下面这个链 ...
- ASP.Net请求处理机制初步探索之旅 - Part 2 核心(转)
开篇:上一篇我们了解了一个请求从客户端发出到服务端接收并转到ASP.Net处理入口的过程,这篇我们开始探索ASP.Net的核心处理部分,借助强大的反编译工具,我们会看到几个熟悉又陌生的名词(类):Ht ...
- Java算法之“兔子问题”
package wulj; /** * Java算法之“兔子问题”: * 有一只兔子,从出生后第3个月起每个月都生只兔子,小兔子长到第三个月后每个月又生一只兔子,假如兔子都不死,问每个月的兔子总数为多 ...
- Sending 'ccColor4B' (aka 'struct_ccColor4B') to parameter of incompatible type
今天遇到了如下的一个错误, Sending 'ccColor4B' (aka 'struct_ccColor4B') to parameter of incompatible type CiColor ...