首页 > 其他 > 详细

输出超过一半的数

时间:2014-06-09 19:32:25      阅读:335      评论:0      收藏:0      [点我收藏+]
bubuko.com,布布扣
//输出超过一半的数,如果没有则输出-1。通过编译,bymyself
import java.util.*;
public class MoreThanHalf{
    public static void main(String args[]){
        int array[]={3,4,5,3,2,3};
        System.out.println(moreThanHalf(array));
    }
    public static int moreThanHalf(int[] array){
        Arrays.sort(array);
        Set sets = new TreeSet();
        List lists = new ArrayList();
        for(int i=0; i<array.length; i++){
            sets.add(String.valueOf(array[i]));//String.valueOf!!!
            lists.add(String.valueOf(array[i]));
        }
        //转为字符串,才能使用indexOf
        StringBuffer sb = new StringBuffer();
        Iterator it = lists.iterator();
        while(it.hasNext()){
            String s = (String)it.next();
            sb.append(s);        
        }
        String ss=sb.toString();
        //
        it = sets.iterator();
        while(it.hasNext()){
            String s = (String)it.next();
            int start = ss.indexOf(s);
            int end = ss.lastIndexOf(s);
            if(end-start+1>array.length/2){
                return Integer.parseInt(s);
            }
        }
        return -1;
    }
}

    
bubuko.com,布布扣

 

bubuko.com,布布扣
//输出超过一半的数,如果没有则输出-1。通过测试
import java.util.*;
public class MoreThanHalf1{
    public static void main(String args[]){
        int array[]={3,4,5,3,2,3};
        System.out.println(moreThanHalf(array));
    }
    public static int moreThanHalf(int[] array){
        if(array.length==1){//当数组中只有一个数时,要输出该数
            return array[0];
        }
        Arrays.sort(array);
        int count = 1;
        for(int i=0; i<array.length-1; i++){
            if(array[i]==array[i+1]){
                count++;
                if(count>array.length/2){//不是else if
                return array[i];
                }
            }else{
                count = 1;
            }
        }
        return -1;
    }
}

    
bubuko.com,布布扣

 

输出超过一半的数,布布扣,bubuko.com

输出超过一半的数

原文:http://www.cnblogs.com/seven7seven/p/3777242.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!