#cambia los for de for (let m in grid) a
1 messages · Page 1 of 1 (latest)
||```
function detectBombs(grid: boolean[][]): number[][] {
const pointsDiff = [
[1, 0],
[0, 1],
[1, 1],
[-1, 0],
[0, -1],
[-1, -1],
[-1, 1],
[1, -1],
];
const result = [];
for (let y1 = 0; y1<grid.length; y1++) {
for (let x1=0; x1 < grid[y1].length; x1++) {
let value = 0;
for(let i=0; i<pointsDiff.length; i++){
const x = x1 + pointsDiff[i][0];
const y = y1 + pointsDiff[i][1];
value += ~~(grid[y]?.[x] );
};
result[y1] ??= [];
result[y1][x1] = value;
}
}
return result;
}
function detectBombs(grid) {
const result = [];
for (let y1 = 0; y1 < grid.length; y1++) {
for (let x1=0; x1 < grid[y1].length; x1++) {
let acc = 0;
for (const [x2, y2] of [
[1, 0],
[0, 1],
[1, 1],
[-1, 0],
[0, -1],
[-1, -1],
[-1, 1],
[1, -1],
]) {
const x = x1 + x2;
const y = y1 + y2;
const value = +!!grid[y]?.[x];
acc += value;
}
result[y1] ??= [];
result[y1][x1] = acc;
}
}
return result;
}
Con los 2 primeros fors fue suficiente 5 estrellas, complejidad 3
la verdad eso de la complejidad no lo entiendo mucho, mira que en uno usas 3 fors y en el otro tambien, uno da 1 de complejidad y el otro da 3, La verdad la complejidad no me parece buena forma para poner estrellas.