我有整数列表,我想要创建一个for循环从序列1到n跳过列表中已经存在的元素,那么这是最好的方法还是有效的方法呢?通过跳过列表中的值来为序列编写for循环?
0
A
回答
-1
您可以使用哈希集为目的它会自动删除重复的元素。因此,对于您的输入数组,将每个元素逐个放入哈希集中,最后您的哈希集将包含非重复元素。
在关于hashshet参阅疑惑:https://www.tutorialspoint.com/java/java_hashset_class.htm
1
大多数高效方式,即O(M + N),是将List
转换为HashSet
,然后检查使用contains()
:
Set<Integer> set = new HashSet<>(list);
for (int i = 1; i <= n; i++) {
if (! set.contains(i)) {
// your code here
}
}
如果您未直接转换为Set
,并直接使用List
的方法,则性能为O(mn),其中m是列表中元素的数量。
+0
非常感谢 –
相关问题
- 1. For循环跳过值
- 2. Java - 跳过for循环中的值
- 3. 如何通过Python中的for循环传递列表列表?
- 4. 通过webdriver中的列循环列表
- 5. 跳过的for循环
- 6. phpmailer列循环&跳过NULLs
- 7. 值未通过for循环
- 8. For循环增值通过
- 9. 'For'循环被跳过?
- 10. For循环跳过作业
- 11. 通过嵌套for循环的元组列表来扩充列表
- 12. 通过循环列表循环Java
- 13. For循环不通过列迭代[R
- 14. 通过for循环添加值后返回0列表 - c#
- 15. Python for循环跳过其他循环?
- 16. VBA跳过For循环 - 为什么?
- 17. 为什么for循环在for循环中的列表被更改后跳过第一个元素?
- 18. 蟒列表在子过程for循环
- 19. 通过for循环
- 20. 跳过for循环中的IndexError
- 21. 为什么我的布尔值在for循环中被跳过?
- 22. Python中通过多个列表循环
- 23. 通过阵列循环MIPS汇编
- 24. 通过列表项的动画循环
- 25. “entirerow.delete”跳过For循环的条目
- 26. 通过嵌套列表循环显示为列表
- 27. 循环通过多阵列
- 28. Javascript:通过阵列循环
- 29. 循环通过阵列
- 30. Flex:通过阵列循环
你可以在这里找到类似的问题https://stackoverflow.com/questions/203984/how-do-i-remove-repeated-elements-from-arraylist –
可能的重复[如何从ArrayList中删除重复的元素?](https://stackoverflow.com/questions/203984/how-do-i-remove-repeated-elements-from-arraylist) –
这个问题与'hibernate'或'spring-mvc'有什么关系? – Andreas