牛客网刷题之数组中出现次数超过一半的数字
来源:互联网 发布:康熙字典体 mac 编辑:程序博客网 时间:2024/06/04 01:24
题目描述:
解题思路:
因为题目要求指定的数出现的次数大于数组长度的一半,所以该数从第一次出现开始count加1,如果往后的数不等于该数就count减1,如果存在该数,最终结果必定是大于1的。
题解:
public int MoreThanHalfNum_Solution(int[] array) { if (array.length == 0) { return 0; } int num = array[0]; int count = 1; for (int i = 1; i < array.length; ++i) { if (array[i] == num) { count++; } else { count--; } if (count == 0) { num = array[i]; count = 1; } } count = 0; for (int i = 0; i < array.length; ++i) { if (array[i] == num) { count++; } } if (count > array.length / 2) { return num; } else { return 0; } }
ac结果:
0 0
- 牛客网刷题之数组中出现次数超过一半的数字
- java之数组中出现次数超过一半的数字
- 数组中超过出现次数超过一半的数字
- 74.数组中超过出现次数超过一半的数字
- 74 数组中超过出现次数超过一半的数字
- 【数组4】数组中出现次数超过一半的数字
- 数组4:数组中出现次数超过一半的数字
- 数组中出现次数超过一半的数字
- 找出数组中出现次数超过长度一半的数字
- 2-数组中出现次数超过一半的数字
- 数组中出现次数超过一半的数字
- 数组中出现次数超过一半的数字[算法]
- 数组中出现次数超过一半的数字
- 找出数组中出现次数超过一半的数字--百度
- 数组中出现次数超过一半的数字
- 数组中出现次数超过一半的数字
- 数组中出现次数超过一半的数字
- 寻找数组中出现次数超过一半的数字
- 二分查找
- Linux进程间通信-FIFO(命名管道)
- mac环境下配置nginx反向代理,https协议
- hdu1050(贪心)
- java设计模式,中介者模式
- 牛客网刷题之数组中出现次数超过一半的数字
- spring定时器配置
- 最长不XX子序列
- System.AccessViolationException类型的未经处理的异常在System.Data.dll中发
- 深入解析DC/OS 1.8 – 高可靠的微服务及大数据管理平台
- Android系统Recovery工作原理之使用update.zip升级过程分析(一)---update.zip包的制作
- maven项目遇到红叉错误
- 最长不XX子序列
- 大数据实战(上)-HBASE原理