Leetcode_169_Majority Element
本文是在学习中的总结,欢迎转载但请注明出处:http://blog.csdn.net/pistolove/article/details/42247887
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.
思路:
(1)题意为给定一个整形数组,寻找出现次数大于数组长度一半的数字。
(2)这道题很简单。如果你对Arrays类比较熟悉的话,可以先运用其中的sort()方法对数组排序,排完序后再从左到右遍历遍历数组,并设置count记录遍历数字出现的次数,如果大于数组长度一半则返回。
(3)这道题如果不用上述方法,可以只遍历一次就得到结果,这里不再啰嗦了,详见下方代码。
(4)希望本文对你有所帮助。
算法代码实现如下:
public static int majorityElement(int[] num) {
	if(num==null ||num.length==0) return-1;
	if(num!=null &&num.length==1) return num[0];
	Arrays.sort(num);
	int count = 1;
	int flag = 0;
	for (int i = flag+1; i < num.length; i++) {
		if(num[flag]==num[i]){
			count++;
			if(count>num.length/2){
				return num[flag];
			}
		}else{
			flag=i;
			count=1;
		}
	}
	return -1;
}
只遍历一次算法的代码实现如下:
public static int majorityElement(int[] num) {
	if (num == null || num.length == 0)
		return -1;
	int count = 0;
	int index = 0;
	for (int i = 0; i < num.length; ++i) {
		if (index == 0)
			count = num[i];
		if (count == num[i])
			++index;
		else
			--index;
	}
	return count;
}												
											Leetcode_169_Majority Element的更多相关文章
- Spring配置文件标签报错:The prefix "XXX" for element "XXX:XXX" is not bound. .
		例如:The prefix "context" for element "context:annotation-config" is not bound. 这种 ... 
- 【解决方案】cvc-complex-type.2.4.a: Invalid content was found starting with element 'init-param'. One of '{"http://java.sun.com/xml/ns/javaee":run-as,   "http://java.sun.com/xml/ns/javaee":security-role-r
		[JAVA错误] cvc-complex-type.2.4.a: Invalid content was found starting with element 'init-param'. One o ... 
- WebComponent魔法堂:深究Custom Element 之 从过去看现在
		前言 说起Custom Element那必然会想起那个相似而又以失败告终的HTML Component.HTML Component是在IE5开始引入的新技术,用于对原生元素作功能"增强& ... 
- WebComponent魔法堂:深究Custom Element 之 标准构建
		前言 通过<WebComponent魔法堂:深究Custom Element 之 面向痛点编程>,我们明白到其实Custom Element并不是什么新东西,我们甚至可以在IE5.5上定 ... 
- WebComponent魔法堂:深究Custom Element 之 面向痛点编程
		前言 最近加入到新项目组负责前端技术预研和选型,一直偏向于以Polymer为代表的WebComponent技术线,于是查阅各类资料想说服老大向这方面靠,最后得到的结果是:"资料99%是英语 ... 
- 深入理解DOM节点类型第五篇——元素节点Element
		× 目录 [1]特征 [2]子节点 [3]特性操作[4]attributes 前面的话 元素节点Element非常常用,是DOM文档树的主要节点:元素节点是html标签元素的DOM化结果.元素节点主要 ... 
- cvc-complex-type.2.4.c: The matching wildcard is strict, but no declaration can be found for element 'mvc:annotation-driven'.
		spring 配置文件报错报错信息:cvc-complex-type.2.4.c: The matching wildcard is strict, but no declaration can be ... 
- MongoDB查询转对象是出错Element '_id' does not match any field or property of class
		MongoDB查询转对象是出错Element '_id' does not match any field or property of class 解决方法: 1.在实体类加:[BsonIgno ... 
- [LeetCode] Kth Smallest Element in a Sorted Matrix 有序矩阵中第K小的元素
		Given a n x n matrix where each of the rows and columns are sorted in ascending order, find the kth ... 
随机推荐
- PHP While 循环
			PHP 循环 - While 循环 循环执行代码块指定的次数,或者当指定的条件为真时循环执行代码块. PHP 循环 在您编写代码时,您经常需要让相同的代码块一次又一次地重复运行.我们可以在代码中使用循 ... 
- AbstractQueuedSynchronizer源码解读--续篇之Condition
			1. 背景 在之前的AbstractQueuedSynchronizer源码解读中,介绍了AQS的基本概念.互斥锁.共享锁.AQS对同步队列状态流转管理.线程阻塞与唤醒等内容.其中并不涉及Condit ... 
- Android开发学习之路--性能优化之常用工具
			android性能优化相关的开发工具有很多很多种,这里对如下六个工具做个简单的使用介绍,主要有Android开发者选项,分析具体耗时的Trace view,布局复杂度工具Hierarchy Vie ... 
- python用openpyxl操作excel
			python操作excel方法 1)自身有Win32 COM操作office但讲不清楚,可能不支持夸平台,linux是否能用不清楚,其他有专业处理模块,如下 2)xlrd:(读excel)表,xlrd ... 
- grab window
			#include <Windows.h> #include <iostream> using namespace std; #if 0 int CaptureAnImage(/ ... 
- Xcode Organizational Identifiers
			操作系统(不管是iOS或是OS X)使用bundle标识去唯一标识你的应用.Bundle标识由一个组织id和你App的名字组成. 一般的,组织id是你域名的反转.如果你的域名是example.com那 ... 
- Python logging 模块和使用经验
			记录下常用的一些东西,每次用总是查文档有点小麻烦. py2.7 日志应该是生产应用的重要生命线,谁都不应该掉以轻心 有益原则 级别分离 日志系统通常有下面几种级别,看情况是使用 FATAL - 导致程 ... 
- Dynamics CRM2013  从外部系统取到CRM系统的用户头像
			CRM从2013开始引入了entityimage的概念,具体这个字段怎么设置的,图像是怎么上传的这里就不谈了.说实在的这玩意在项目中没啥用,所以也没去关注,直到最近遇到了个难题,要在外部系统去获取这个 ... 
- UE4读取scv文件 -- 数据驱动游戏性元素
			官方文档链接:http://docs.unrealengine.com/latest/CHN/Gameplay/DataDriven/index.html 略懒,稍微麻烦重复的工作,总希望能找人帮忙一 ... 
- 安卓高仿QQ头像截取升级版
			观看此篇文章前,请先阅读上篇文章:高仿QQ头像截取: 本篇之所以为升级版,是在截取头像界面添加了与qq类似的阴影层(裁剪区域以外的部分),且看效果图: 为了适应大家不同需求,这次打了两个包,及上图 ... 
