如何使用java流获取列表列表List<List<Integer>>
中所有对角元素的和?
int diagonalSum(List<List<Integer>> matrix) {
int n = matrix.size();
return IntStream.range(0, n)
.map(i -> i < matrix.get(i).size() ? matrix.get(i).get(i).intValue() : 0)
.sum();
}
就像for循环一样:IntStream.range
代表一行&列索引。可以添加CCD_ 3,但必须衡量其是否更有效。
谢谢Joop,看起来我在尝试另一个方向,尝试了List流,但这个是干净的。最后一个解决方案是
IntStream.range(0, test.size()).map(i -> test.get(i).get(i)).sum();