課題が返ってきたばかりで、一定の時間に実行されず、十分に効率的ではなかったため、1 つの関数の評価を失いました。予約を取り、教授からの返事を待つという面倒なことをしなければなりませんでした。
ArrayList からアイテムをランダムに削除して返す関数があります。
public T pick() {
int end = l.size() - 5;
if (l.size() == 0)
return null;
assert(next >= 2 && next <= l.size()-1);
T x = l.remove(next);
next = (l.size() > 0) ? r.nextInt(l.size()) : -5;
return x;
}
このコードをより効率的にするために何ができるかを誰かが指摘できますか? 前もって感謝します!