博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
LintCode_46 主元素
阅读量:6948 次
发布时间:2019-06-27

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

题目

给定一个整型数组,找出主元素,它在数组中的出现次数严格大于数组元素个数的二分之一。

 样例

给出数组[1,1,1,1,2,2,2],返回 1

思路

首先 发现所给的数组是顺序排列好的。

用动态规划的思路解决  可以把时间复杂度减小到O(n)空间复杂度O(1)

C++代码

1 int majorityNumber(vector
nums) { 2 // write your code here 3 int count = 1; 4 int i; 5 for(i = 1; i < nums.size(); ++i) 6 { 7 if(nums[i] == nums[i - 1]) count++; 8 else 9 {10 if(double(count)/nums.size() > 0.5) break;11 count = 1;12 }13 14 }15 return nums[i - 1];16 }
View Code

 

转载于:https://www.cnblogs.com/Smallhui/p/5458142.html

你可能感兴趣的文章
判断文章/帖子操作权限
查看>>
计算机英文缩写
查看>>
Windows2003 SQL2005解决系统Administrator密码不知道的问题
查看>>
curl常用的5个例子(转)
查看>>
wCF 问题收集页
查看>>
《ASP.NET MVC4 WEB编程》学习笔记------.net mvc实现原理ActionResult/View
查看>>
1、传感器概述
查看>>
需求分析报告和需求规格说明书有什么区别
查看>>
转:Vmware Exsi使用简要说明
查看>>
MessageDigest简单介绍
查看>>
Apache commons-net用法的一个示例
查看>>
第三方平台正式支持接入微信公众平台JS-SDK
查看>>
openpgp和gnupg
查看>>
你是程序猿这块料吗?
查看>>
WordCount 远程集群源码
查看>>
java Date获取 年月日时分秒
查看>>
iOS 9应用开发教程之使用代码添加按钮美化按钮
查看>>
记一次服务器被恶意攻击的情况
查看>>
一个例子:HelloWorld
查看>>
排序算法及分析(插入、希尔、选择、冒泡)
查看>>