题目

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

样例

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

思路

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

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

C++代码

 int majorityNumber(vector<int> nums) {
// write your code here
int count = ;
int i;
for(i = ; i < nums.size(); ++i)
{
if(nums[i] == nums[i - ]) count++;
else
{
if(double(count)/nums.size() > 0.5) break;
count = ;
} }
return nums[i - ];
}

最新文章

  1. 解决 linux下编译make文件报错&ldquo;/bin/bash^M: 坏的解释器:没有那个文件或目录&rdquo; 问题
  2. linux下基本命令总结
  3. ntpd和ntpdate
  4. Js 简单分页(二)
  5. Maven项目 Spring 单元测试
  6. Table表格横竖线实现Css
  7. JNI介绍(转)
  8. 谈谈MySQL的事务隔离级别
  9. SQL Server2008 安装失败后的解决办法
  10. CMD指令及其意义
  11. hql和sql练习题
  12. Centos 安装 GitLab 8.5.1 版本管理
  13. etcd3集群管理
  14. linux 安装python3.7 报错No module named &#39;_ctypes&#39;
  15. 【VBA编程】07.循环结构语句
  16. Android以root起一个process[shell脚本的方法]
  17. 2017 Wuhan University Programming Contest (Online Round) B Color 树形dp求染色方法数
  18. 程序员不修复BUG怎么办
  19. GeoServer基础教程(四):空间数据互操作的接口规范WMS、WFS和WCS
  20. Linux常用关机重启命令

热门文章

  1. Python学习day09 - Python进阶(3)
  2. MyEclipse 最常用实用快捷键
  3. Chsh- Linux必学的60个命令
  4. Leetcode201. Bitwise AND of Numbers Range数字范围按位与
  5. C#墨攻IOC[转]
  6. List -- 循环操作
  7. 如何实现shell并发 一个入门级可控多线程shell脚本方案
  8. 44个 Javascript 变态题解析 (下)
  9. if _name_ == &quot; _main_&quot;
  10. HBase 三维模型解析