写一个函数来从数组中删除重复的对象。维持秩序。例如,如果输入的数组[ 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)
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报