剑指offer:数组中出现次数超过一半的数字
来源:互联网 发布:打谱软件下载 编辑:程序博客网 时间:2024/05/16 15:06
题目描述
数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字。例如输入一个长度为9的数组{1,2,3,2,2,2,5,4,2}。由于数字2在数组中出现了5次,超过数组长度的一半,因此输出2。
int MoreThanHalfNum_Solution(vector<int> numbers) { /* 判断数组是否为空 */ if(numbers.empty()) { return 0; } int data = numbers[0]; int count = 1; int i = 0; for(i = 0; i < numbers.size(); i++) { if(count == 0) { data = numbers[i]; count++; } else { if(data == numbers[i]) { count++; } else { count--; } } } /* 验证一下这个数字出现次数是否大于一半 */ count = 0; for(i = 0; i < numbers.size(); i++) { if(data == numbers[i]) { count++; } } if(count < (numbers.size()/2+1)) { return 0; } return data;}
0 0
- 剑指offer--数组中出现次数超过一半的数字
- 《剑指offer》数组中出现次数超过一半的数字
- 剑指offer:数组中出现次数超过一半的数字
- 【剑指Offer】数组中出现次数超过一半的数字
- 剑指offer:数组中出现次数超过一半的数字
- 数组中出现次数超过一半的数字||剑指offer
- 剑指offer 数组中出现次数超过一半的数字
- 剑指offer:数组中出现次数超过一半的数字
- [剑指offer]数组中出现次数超过一半的数字
- 《剑指offer》-数组中出现次数超过一半的数字
- 剑指offer|数组中出现次数超过一半的数字
- 剑指offer-数组中出现次数超过一半的数字
- 《剑指offer》数组中出现次数超过一半的数字
- 剑指offer - 数组中出现次数超过一半的数字
- 剑指Offer:数组中出现次数超过一半的数字
- 剑指offer-数组中出现次数超过一半的数字
- 剑指offer:数组中出现次数超过一半的数字
- 剑指offer 数组中出现次数超过一半的数字
- centos 启动出现 UNEXPECTED INCONSISTENCY RUN fsck MANUALLY
- Windows环境下Android Studio v1.0安装教程
- c#16进制10进制转换
- BZOJ 3625 [Codeforces Round #250]小朋友和二叉树 多项式开根
- 浅谈 JDBC 中 CreateStatement 和 PrepareStatement 的区别与优劣。
- 剑指offer:数组中出现次数超过一半的数字
- mysql的procedure错误回滚问题
- 使用Navicat for MYSQL导出和导入MYSQL数据库,Navicat Premium备份和还原MysqL数据库
- 图的DFS实现
- Unity3D笔记第一天——资源、项目
- 公钥和私钥
- python学习——yield
- Hadoop系列之八:Hadoop集群
- 最简单的POI操作Excel的应用