zoukankan      html  css  js  c++  java
  • 从数组里挑出仅仅出现一次的对象

    去某公司面试~

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

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

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

    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>


  • 相关阅读:
    Codeforces 722C. Destroying Array
    Codeforces 722D. Generating Sets
    【BZOJ】3436: 小K的农场
    数论四·扩展欧几里德
    数论三·约瑟夫问题
    数论二·Eular质数筛法
    #1287 : 数论一·Miller-Rabin质数测试
    树的维护
    可持久化线段树
    【NOIP2016】天天爱跑步
  • 原文地址:https://www.cnblogs.com/mthoutai/p/6753647.html
Copyright © 2011-2022 走看看