我有一个像下面这样的课程。
class Student {
public Student(Set<String> seminars) {
this.seminar = seminars;
}
Set<String> seminar;
public Set<String> getSeminar()
{
return seminar;
}
}
Run Code Online (Sandbox Code Playgroud)
并创建了一组如下所示的学生。
List<Student> students = new ArrayList<Student>();
Set<String> seminars = new HashSet<String>();
seminars.add("SeminarA");
seminars.add("SeminarB");
seminars.add("SeminarC");
students.add(new Student(seminars)); //Student 1 - 3 seminars
students.add(new Student(seminars)); //Student 2 - 3 seminars
seminars = new HashSet<String>();
seminars.add("SeminarA");
seminars.add("SeminarB");
students.add(new Student(seminars)); //Student 3 - 2 seminars
seminars = new HashSet<String>();
students.add(new Student(seminars)); //Student 4 - 0 seminars
Run Code Online (Sandbox Code Playgroud)
现在的问题是“我正在尝试获取参加过最多研讨会的学生人数”,正如您所看到的,有 2 名学生参加了 3 场(最多)研讨会,所以我需要获得该人数。
我使用流使用 …
我正在尝试了解 LinkedLists(准确地说是单个 LinkedList)。
我听说/读到删除和添加操作将以 O(1) 复杂度执行,但我仍然不知道如何以 O(1) 复杂度实现这两个操作。下面是我在 java 中的实现(注意:我不知道 c、c++ 编码,所以我最近开始了解数据结构)。
public class Node
{
private Integer data = null;
private Node next = null;
private int size = 0;
public Node()
{
}
private Node(Integer data)
{
this.data = data;
}
public boolean add(Integer data)
{
if (null == data) return false;
if (null == this.data)
{
this.data = data;
}
else
{
if (null == this.next)
{
this.next = new Node(data);
}
else
{
this.next.add(data);
}
} …
Run Code Online (Sandbox Code Playgroud)