【发布时间】:2026-01-17 16:30:01
【问题描述】:
我正在编写一个代码,大部分都完成了,只是这两行有问题,我会完成的。这样做的正确方法是什么?我想我把 Arrays 和 ArrayLists 搞混了,请帮忙
private final int MAX = 100000;
private ArrayList<Integer> adj = new ArrayList(MAX);
private boolean[] visited = new boolean[MAX];
private void dfsFirst(int u) {
if (visited[u]) {
return;
}
visited[u] = true;
for (int i = 0; i < adj[u].size(); i++) { //issue here with adj
dfsFirst(adj[u].get(i)); //issue here with adj
}
s.push(u);
}
这是我试图翻译成 Java 的原始代码 https://www.geeksforgeeks.org/2-satisfiability-2-sat-problem/
【问题讨论】:
-
是的,adj 是一个列表,您可以使用
adj.get(i)/adj.size()获得内容。s未在此处的示例中定义。 -
索引大小是什么意思?
for循环的目的是什么,其中dfsFirst使用adj数组中的 value 递归调用,而输入参数u应该是索引? -
@AlexRudenko 看看我的编辑,看看我想要做什么,谢谢
标签: java arrays arraylist indexing size