数组中有一个数字出现的次数超过数组长度的一半
题目:
数组中有一个数字出现的次数超过数组长度的一半。请找出这个数字。
解答:
1 public class Solution { 2 3 public int MoreThanHalfNum_Solution(int [] array) { 4 if(array == null || array.length == 0) { 5 return 0; 6 } 7 8 int result = array[0]; 9 int count = 1; 10 11 for(int i = 1; i < array.length; i++) { 12 if(count == 0) { 13 result = array[i]; 14 count = 1; 15 } else if(array[i] == result) { 16 count++; 17 } else { 18 count--; 19 } 20 } 21 22 23 if(isHalf(array, result)) { 24 return result; 25 } else { 26 return 0; 27 } 28 29 } 30 31 private static boolean isHalf(int[] array, int num) { 32 int count = 0; 33 34 for(int i = 0; i < array.length; i++) { 35 if(array[i] == num) { 36 count++; 37 } 38 } 39 40 if(count > array.length / 2) { 41 return true; 42 } else { 43 return false; 44 } 45 } 46 }
转载于:https://www.cnblogs.com/wylwyl/p/10373932.html
数组中有一个数字出现的次数超过数组长度的一半相关推荐
- 统计数组中每个数字出现的次数_剑指Offer(二十八) 数组中次数出现超过一半的数字...
题目描述 思路与解析 题目描述 数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字.例如输入一个长度为9的数组{1,2,3,2,2,2,5,4,2}.由于数字2在数组中出现了5次,超过数组长 ...
- 【编程题目】输入一个已经按升序排序过的数组和一个数字,在数组中查找两个数,使得它们的和正好是输入的那个数字。...
第 14 题(数组): 题目:输入一个已经按升序排序过的数组和一个数字, 在数组中查找两个数,使得它们的和正好是输入的那个数字. 要求时间复杂度是 O(n).如果有多对数字的和等于输入的数字,输出任意 ...
- 输入一个已经按升序排序过的数组和一个数字, 在数组中查找两个数,使得它们的和正好是输入的那个数字。
原文转自:http://blog.csdn.net/u013322907/article/details/38300711 题目:输入一个已经按升序排序过的数组和一个数字,在数组中查找两个数,使得它们 ...
- 【leetcode】给定一个整数数组和一个整数 k, 你需要在数组里找到不同的 k-diff数对。
给定一个整数数组和一个整数 k, 你需要在数组里找到不同的 k-diff 数对.这里将 k-diff 数对定义为一个整数对 (i, j), 其中 i 和 j 都是数组中的数字,且两数之差的绝对值是 k ...
- 春节期间小明使用微信收到很多个红包,非常开心。在查看领取红包记录时发现,某个红包金额出现的次数超过了红包总的一半。请帮小明找到该红包金额。
春节期间小明使用微信收到很多个红包,非常开心.在查看领取红包记录时发 某个红包金额出现的次数超过了红包总的一半.请帮小明找到该红包金额.写出具体算法思路和代码实现,要求算法尽可能高效.给定一个红包的金 ...
- 在数组中寻找出现次数超过数组长度一半的数
春节期间小明使用微信收到很多个红包,非常开心.在查看领取红包记录时发现,某个红包金额出现的次数超过了红包总数的一半.请帮小明找到该红包金额.写出具体算法思路和代码实现,要求算法尽可能高效. 给定一个红 ...
- c语言++数组名【数字】_C ++程序在数组中打印所有非重复数字
c语言++数组名[数字] Problem statement: Write a C++ program to print all the non-repeated numbers in an arra ...
- php将数组最后一个单元弹出,php array_pop()数组函数将数组最后一个单元弹出(出栈)...
/*函数array_pop():将数组最后一个单元弹出(出栈) * 1.语法:mixed array_pop ( array &array ) * 2.描述: 弹出并返回 array 数组的最 ...
- 去掉数组最后一个元素_leetcode 34. 在排序数组中查找元素的第一个和最后一个位置每天刷一道leetcode算法系列!...
作者:reed,一个热爱技术的斜杠青年,程序员面试联合创始人 前文回顾: leetcode1. 两数之和--每天刷一道leetcode系列! leetcode2. 两数相加--每天刷一道leetcod ...
最新文章
- 分层条件关系网络在视频问答VideoQA中的应用:CVPR2020论文解析
- 软工作业 5:词频统计——增强功能
- Mac下sublime text2 解决中文乱码
- SAP RETAIL 通过分配表创建UB STO单据
- Spring - Java/J2EE Application Framework 应用框架 第 10 章 使用JDBC进行数据访问
- 在CentOS上安装FFMPEG和Gstream-ffmpeg
- 高职院校计算机基础课程要求,浅谈高职院校计算机的应用基础课程的改革.doc...
- 如何在Hibernate中维护表的历史记录
- 晶体管电路设计.铃木雅臣
- 小程序苹果手机底部出现横杠处理
- matplotlib多张子图画在一起
- pd.to_datetime函数函数获取相应时间维度指标(isocalendar函数用法)
- Uber Go 语言编程规范:使用 go.uber.org/atomic
- 新一代iPad mini曝光:屏幕变大、颜值大幅提升!
- DB DBMS SQL 分别是什么?
- oracle ORA-28002:the password will expire within 7 days 解决方法
- 几种典型的立体匹配算法
- 服务器安装嵌入式系统,嵌入式设备连接云服务器
- 一个男人最高的品味就是他选择的女人
- C#在Excel与Word中写入上角标与下角标
热门文章
- java soap 头_如何将java头添加到java中的soaprequest
- 拷贝依赖_还不懂零拷贝(Zero-Copy)?怎么称得上高级程序员
- java在线编译器_什么是Java内存模型
- php写poc,xray写POC踩坑
- 【springboot】禁用特定AutoConfiguration/自动配置类
- mysql 5.5 不认识 datetime(0) 类型
- 【mysql】table中添加列
- python 数字证书模拟登录_用于生成WebService使用的数字证书及签署证书.python脚本...
- Windows环境下MySQL 5.7的安装、配置与卸载
- 怎么修改存储路径_Power Query数据位置变了?利用参数轻松解决源文件路径问题...