你对支票的使用
balance
当您在元素上迭代时,使这个循环成为有状态的操作,这对于流是不鼓励的。
// find the index of the last operation that brings balance below 0
int balance = 0;
int firstIndexWhereClosed = 0;
for (; balance >= 0 && firstIndexWhereClosed < parenthesisBalancePerElement.size(); firstIndexWhereClosed++) {
int elementBalance = parenthesisBalancePerElement.get(firstIndexWhereClosed);
balance += elementBalance;
}
// use firstIndexWhereClosed