博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
数组中出现次数超过一半的数
阅读量:5035 次
发布时间:2019-06-12

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

题目描述

数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字。例如输入一个长度为9的数组{1,2,3,2,2,2,5,4,2}。由于数字2在数组中出现了5次,超过数组长度的一半,因此输出2。如果不存在则输出0。

类似于桶排序的思路:

弊端:数组中的值不能过大,否则必须开辟很大的空间(或者得构造函数去进行离散处理)

Java代码如下:

public class Solution {    public int MoreThanHalfNum_Solution(int [] b) {    int a[]=new int [100];    for(int i=0;i
b.length/2){ return i; } }return 0; }}

 排序之后,如果存在超过一般长度的数,那么这个数一定是中间的这个数,所以用中间的数作为标准进行比较,如果相等计数器+1;

Java代码如下:

import java.util.*;public class Solution {    public int MoreThanHalfNum_Solution(int [] array) {        int len=array.length;        if(len<1){            return 0;        }        int count=0;        Arrays.sort(array);        int num=array[len/2];        for(int i=0;i

 

转载于:https://www.cnblogs.com/cstdio1/p/11237200.html

你可能感兴趣的文章
12.4号
查看>>
安装JMeter
查看>>
虚方法与抽象方法有什么区别
查看>>
20181126-java-面试知识-收集
查看>>
POJ-3295 Tautology 枚举+DFS
查看>>
KRPano多屏互动原理
查看>>
KRPano动态热点专用素材图50多个,加动态热点使用方法
查看>>
yii模型ar中备忘
查看>>
C#线程入门
查看>>
CSS清除浮动方法
查看>>
JVM内存回收机制简述
查看>>
洛咕 P2480 [SDOI2010]古代猪文
查看>>
js-创建对象的几种方式
查看>>
JDK JRE Java虚拟机的关系
查看>>
2018.11.20
查看>>
word20161215
查看>>
12th week blog
查看>>
dijkstra (模板)
查看>>
python小记(3)
查看>>
编译Linux驱动程序 遇到的问题
查看>>