我有ArrayList的ArrayList。我想确保每个组成ArrayLists具有相同数量的项目。有没有办法做到这一点在少于n!时间?ArrayList ArrayList:检查每个ArrayList具有相同数量的项目
回答
绝对!一次遍历一个ArrayList
。存储第一个ArrayList
的大小,然后确认所有其他ArrayList
的大小与第一个列表的大小相匹配。所需的总时间是O(n),其中n是列表的数量。
例如:
public static boolean listsHaveSameSize(List<List<?>> allLists) {
List<?> first = null;
for (List<?> list: allLists) {
if (first == null) {
first = list;
} else if (list.size() != first.size()) {
return false;
}
}
return true;
}
希望这有助于!
您需要注意'else'分支 - 'list'可以是'null'。 –
@ TedHopp-我假定顶层列表不包含任何空列表;假设这是否是不合理的? – templatetypedef
不知道,如果它不合理,但防守编码在这里不是这样的负担。它只需要一个单独的'else if(list == null){return false; ''一步。如果OP需要检查内容的一致性,那么首先不能100%控制顶部列表的内容,所以对我来说似乎是谨慎的。顺便说一下,一旦它不是'null'就可以存储'first'的大小,并且使用它而不是重复调用'size()'。 –
- 1. Clonning ArrayList元素到相同的ArrayList
- 2. 创建一个ArrayList ArrayList与另一个元素相比ArrayList的另一个ArrayList
- 3. 每次ArrayList一次或ArrayList?
- 4. android将项目添加到arraylist from arraylist
- 5. 将arraylist中的每个数字相乘
- 6. ArrayList中的计数项目
- 7. ArrayList中,每个对象只能在一个ArrayList的同时
- 8. 如何访问与thymeleaf arraylist每个arraylist?
- 9. 上的ArrayList但ArrayList的排序有相同的值
- 10. 在方法中创建与ArrayList参数相同的ArrayList参数
- 11. ArrayList的ArrayList ArrayList的内部ArrayList
- 12. 保存ArrayList项目
- 13. 访问Arraylist项目
- 14. 从一个ArrayList到另一个ArrayList的Java克隆项目?
- 15. 从ArrayList写入每个ArrayList对象具有多个值的文本文件(java)
- 16. ArrayList中具有相同的条目多次
- 17. Java ArrayList - 项连接到另一个ArrayList
- 18. ArrayList的ArrayList
- 19. ArrayList的ArrayList
- 20. ArrayList中的ArrayList
- 21. java将项目从一个arraylist添加到另一个arraylist
- 22. vb.net结构的ArrayList的2003具有一个ArrayList
- 23. 项目不存储在ArrayList中具有不同的XML结构
- 24. 访问相同ArrayList的HashMap
- 25. 如何检查ArrayList是否包含另一个ArrayList的元素?
- 26. 显示ArrayList项目每行3?
- 27. ArrayList的ArrayList的ArrayList不正确的检索
- 28. 分组相同的项目在一个ArrayList - MusicPlayer
- 29. 在2 ArrayList和返回另一个ArrayList之间查找相同的值
- 30. 检查两个arraylist是否包含相同的元素
为什么这需要O(n!)时间? – templatetypedef
因为我一直在写简单的代码太久了,而我的思想融化了。 –