贤云(xianyun) 2014-08-06 14:57
浏览 304
已采纳

从数组中删除重复的元素,并考虑算法的执行效率

写一个函数来从数组中删除重复的对象。维持秩序。例如,如果输入的数组[ 1,5,4,2,7,2,6,5 ],结果应该是[ 1,5,4,2,7,6 ]。实施时应执行速度的优化。

  • 写回答

4条回答 默认 最新

  • weixin_42622339 2014-08-06 17:34
    关注

    最快的算法肯定是O(n)
    具体做法是:
    1,准备一个HashMap或者HashTable
    2,循环你的输入数组,判断他是否在HashMap中,如果不是,输出,并且加入到HashMap中(比如:Map.put(1,true)),如果是在HashMap中则什么都不做。

    因为HashMap的读取和设置是O(1)的时间复杂度,所以加上循环整体的时间复杂度也是O(n)

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?