我对编码很陌生,所以请容忍我。
假设我有一个二维列表
M = [[3, 0, 2, 18],[-1, 1, 3, 4],[-2, -3, 18, 7]]
表示矩阵的方法
[3, 0, 2, 18]
[-1, 1, 3, 4]
[-2, -3, 18, 7]
我希望通过将值添加到元素的右侧和底部来查找每个元素的编译值(cv)
例如
Cv[2,3]给出了7+0+0=7,因为它的右边和底部没有元素
Cv[1,3]给我4+7+0=11,因为它右边没有单元格
Cv[2,2]给我18+0+7=25
Cv[1,2]表示1+25+11=39
求解的矩阵是
[2161327029]
〔81,62,39,11〕
[20,22,25,7]
我怎么知道[0,0]的简历?我设法找到了基列的简历,但之后就变得太乱了。有更好的办法吗?我在寻找一种迭代和递归的方法。谢谢您!
def cv_iterative(m):
#first row
matrixnew = []
total = 0
base = reversed(m[len(m) - 1])
baseresult = (list(accumulate(base)))
basenew = []
for i in baseresult:
basenew.append(i)
basenew = reversed(basenew)
matrixnew.append(list(basenew))```
[1]: https://i.stack.imgur.com/sjIk2.png