Skip to content

Commit aa02a97

Browse files
refactor(2018 day-11): refactor tally loop to skip invalid results faster
1 parent 427a5a9 commit aa02a97

File tree

1 file changed

+7
-6
lines changed

1 file changed

+7
-6
lines changed

2018/day-11/fuel-cells.js

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -63,18 +63,19 @@ class Rack {
6363

6464
_tallySquare (idx, size) {
6565
let power = 0
66-
let valid = true
6766
for (let x = 0; x < size[0]; x++) {
68-
for (let y = 0; y < size[0]; y++) {
67+
for (let y = 0; y < size[1]; y++) {
6968
let pointer = idx + x + (y * this.size[0])
7069
let dest = this.cells[pointer]
71-
valid = (dest) ? valid : false // flag invalid results from cells off the grid
70+
if (!dest) {
71+
x = size[0]
72+
y = size[1]
73+
return null // break for speed on invalid squares
74+
}
7275
power += (dest) ? dest.power : 0
7376
}
7477
}
75-
76-
// Discard value if square exceeds the grid
77-
return (valid) ? power : null
78+
return power
7879
}
7980

8081
tallySquares (size) {

0 commit comments

Comments
 (0)