java - 如何有效地查找数组中的重复元素?我的意思是说迭代次数非常少
问题描述
如何在缺少元素的数组中找到重复元素?如果我迭代数组的次数不足,性能会变慢。以有效方式迭代数组的最佳方法是什么?或者我们可以使用任何其他 Java 集合对象以更少的迭代次数或更少的时间复杂度来查找重复项吗?
解决方案
您可以使用 aHashSet
因为 Sets 不允许重复,只需遍历元素数组并HashSet
使用该add()
方法将它们插入到 a 中。如果该add()
方法返回,false
则该元素已经存在于集合中,并且它存在于您的副本中。这样,您只需在数组上循环一次,这会导致时间和空间复杂度为O(n)
.
推荐阅读
- html - css中position属性的absolute元素的主要用途和实际用途是什么?它如何在现代网站中使用?
- pyqt5 - 根据单独单元格中的值为 QTableView 单元格着色
- ruby-on-rails - 将静态元数据存储在 ruby 文件中的最佳方法
- iphone - iPhone / iPad 不会在 AWL ELB 后面加载网站或子域托管
- html - 尝试在样式中插入打字稿元素时出现术语预期错误
- spring-boot - 如何在 PCF 管理的 RabbitMQ 上使用 x-delay 消息头(标准计划)
- c - 我的函数给了我这些错误:“预期的';',标识符或'('在'double'之前”和“未知类型名称'skater_t”
- java - 工厂方法的参数数量错误
- python - 如何在 seaborn legend 中选择和排序值
- c# - 编辑导入的excel文件的datagridview的值