【发布时间】:2016-10-02 18:08:11
【问题描述】:
我有一个方法,它返回一个带有数组的 ArrayList,如下所示:
{1,2,3}, {4,5,6}, {7,8,9}....
public int[] simulatePlays(BitBoard board, int number){
int[] count = {0,0,0};
while (number > 0){
BitBoard b = new BitBoard(board);
count[playRandomly(b)+1] += 1;
number--;
}
return count;
}
public ArrayList<int[]> evaluateMoves(BitBoard board, int number){
ArrayList<Integer> moves = board.listMoves();
ArrayList<int[]> values = new ArrayList<>();
for(int move : moves){
board.makeMove(move);
values.add(simulatePlays(board, number));
board.undoMove();
}
return values;
}
现在我需要对array[3]的值进行倍数
我的意思是每个数组的第三个值 3,6,9 所示。
用一些东西然后选择最大值的索引。我可以用两个 for 循环来做到这一点,但我更愿意使用 Streams。
我想要的 Python 代码是:
values = [r* board.turn for l,m,r in evaluate_moves(board)]
max_val = max(values)
max_idx = values.index(max_val)
有人可以帮我吗?
【问题讨论】:
-
array[3]不会编译,我认为你应该提供一个代码来处理。 -
请注意,就其价值而言,流和与索引有关的任何事情都无法相处。
标签: java python arrays arraylist java-stream