码迷,mamicode.com
首页 > 编程语言 > 详细

从数组里挑出仅仅出现一次的对象

时间:2017-04-23 20:14:38      阅读:162      评论:0      收藏:0      [点我收藏+]

标签:array   art   java   int end   app   pos   大牛   []   find   

去某公司面试~

技术问的问题是给一个数组,挑出里面仅仅出现一次的数字。

下面是我给出的方法,算不上正规的算法。也没考虑什么控件复杂度。

假设你是大牛,请在回复里写一下 你的算法。欢迎互动

 

public static void main(String[] args) {
        int array[]={1,3,5,7,9,1,3,5,7};
        int length=array.length;
        StringBuilder sb= new StringBuilder();
        for(int i=0;i<length;i++){
            sb.append(array[i]);
        }
        for(int i=0;i<length;i++){
            int firstPosition=sb.indexOf(array[i]+"");
            int endPosition=sb.lastIndexOf(array[i]+"");
            if(firstPosition==endPosition)
                System.out.println("出现一次的是:"+array[i]);
        }

    }


 针对1楼提出的bug

我做出例如以下改动,


<span style="font-size:18px;color:#000000;">public void find(){
        int array[]={11,13,55,77,99,21,13,55,77};
        int length=array.length;
        StringBuilder sb= new StringBuilder();
        for(int i=0;i<length;i++){
            sb.append(array[i]+"s");
        }
        for(int i=0;i<length;i++){
            int firstPosition=sb.indexOf(array[i]+"s");
            int endPosition=sb.lastIndexOf(array[i]+"s");
            if(firstPosition==endPosition)
                System.out.println("出现一次的是:"+array[i]);
            else
                System.out.println("出现多次的是:"+array[i]);
        }
    }</span>


从数组里挑出仅仅出现一次的对象

标签:array   art   java   int end   app   pos   大牛   []   find   

原文地址:http://www.cnblogs.com/mthoutai/p/6753647.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!