let rowLength = 4
let cloumLength = 4
let record = []
let arr = new Array(rowLength).fill([]).map((item, index) => {
record.push([])
return new Array(cloumLength).fill(-1).map((item, index2) => {
record[index].push(-1)
if (index2 <= index) {
return parseInt((Math.random() * 10).toFixed(0))
} else {
return "*";
}
})
})
console.log("数组\n", arr)
console.log("数组\n", record)
function minShort(rowNum, colNum) {
if (rowNum >= rowLength || colNum >= cloumLength) {
return 0
} else {
if (record[rowNum][colNum] == -1) {
let A = arr[rowNum][colNum] + minShort(rowNum + 1, colNum)
let B = arr[rowNum][colNum] + minShort(rowNum + 1, colNum + 1)
record[rowNum][colNum] = Math.min(A, B)
return record[rowNum][colNum]
} else {
return record[rowNum][colNum]
}
}
}
console.log(minShort(0, 0))