这是java工程师的现场面试问题:
给定具有属性Course的Student类型数组,编写一个Java方法,确定数组中的任何一对学生是否具有相同的课程.如果找到匹配项,请务必返回布尔值true.假设有大量学生,请尝试提供最有效的解决方案.
列出您要为上述代码实现的测试方法名称.至少为其中一个提供实施
我找不到最有效的解决方案,有没有人有更好的解决方案?谢谢!
如果使用其他数据结构,则只能循环一次,即Set:
boolean check(Student[] array) {
HashSet<String> courses = new HashSet<String>();
for(Student tmp : array){
if(!courses.add(tmp.getCourse()))
return true;
}
return false;
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
359 次 |
最近记录: |