编辑代码

//JSRUN引擎2.0,支持多达30种语言在线运行,全仿真在线交互输入输出。 
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))