创建一个恰好有K条路径的网格图
- 题号:—
- 来源:LeetCode 周赛
- 难度:中等
- 标签:
数学矩阵模拟 - 语言:JavaScript
- 解法:1 个
- 作者:lmliheng
- 最近更新:2026-09-27
JavaScript · O(n*m) 时间 · O(n*m) 空间 · 更新于 2026-09-27
按 k 从 1 到 4 分情况拼出通路网络
javascript
/**
* @difficulty medium
* @tags 数学,矩阵,模拟
* @time O(n*m)
* @space O(n*m)
* @note 按 k 从 1 到 4 分情况拼出通路网络
* @创建一个恰好有K条路径的网格图
*
* 当m>=4 n>=4
*/
let m = 4
let n = 4
let k = 4
// C24 C36 // c52
// 构造
let grid = new Array(m).fill('#').map(() => '#'.repeat(n))
if (k === 1) {
for (let i = 0; i < m; i++) {
grid[i] = '.' + '#'.repeat(n - 1)
}
grid[m - 1] = '.'.repeat(n)
} else if (k === 2) {
for (let i = 0; i < m; i++) {
grid[i] = '.' + '#'.repeat(n - 2) + '.'
}
grid[0] = '.'.repeat(n)
grid[m - 1] = '.'.repeat(n)
} else if (k === 3) {
for (let i = 0; i < m; i++) {
grid[i] = '.' + '#'.repeat(n - 2) + '.'
}
grid[0] = '.'.repeat(n)
grid[m - 1] = '.'.repeat(n)
grid[1] = '.' + '#'.repeat(n - 3) + '..'
} else if (k === 4) {
for (let i = 0; i < m; i++) {
grid[i] = '.' + '#'.repeat(n - 2) + '.'
}
grid[0] = '.'.repeat(n)
grid[m - 1] = '.'.repeat(n)
grid[1] = '.' + '#'.repeat(n - 3) + '..'
grid[m - 2] = '..' + '#'.repeat(n - 3) + '.'
}
console.log(grid)源码:ts/leetcode/周赛/创建一个恰好有K条路径的网格图.js
在 GitHub 上查看题目所在目录:lmliheng/algorithm