for (let arr of board) {
let row = []
for (let z of arr) {
if (z !== '.') row.push(z);
}
let set = new Set(row)
if (set.size !== row.length)
return false;
}
for (let i = 0; i < 9; i++) {
let col = []
board.map( arr => {
if (arr[i] !== '.') col.push(arr[i])
})
let set = new Set(col)
if (set.size !== col.length)
return false;
}
for (let x = 0; x < 9; x += 3) {
for (let y = 0; y < 9; y += 3) {
let box = []
for (let a = x; a < 3 + x; a ++) {
for (let b = y; b < 3 + y; b ++) {
if (board[a][b] !== '.') box.push(board[a][b])
}
}
let set = new Set(box)
if (set.size !== box.length) return false
}
}
return true
};
ARTS 第九周(2019.9.2-2019.9.8)
Algorithm 有效的数独
Review: React和Vue的一些不同
阅读地址
Tips: 近期遇到的tips
Buffer
转换为JSON
对象的函数,语法格式为这样:buf.toJSON()
stream
是一个抽象接口,他有四种类型: 1.Readable
可读性 2.Writeable
可写性 3.Duplex
可读可写 4.Transform
操作被写入数据,然后读出结果symbol.for()
与symbol
,都会生成新的symbol
,区别就是前者会被登记在全局环境中供搜索,后者不会Share JavaScript性能优化