From 13e3914ae74165da793b8d6f5e05f3a9afb9d4e3 Mon Sep 17 00:00:00 2001 From: omagdy Date: Fri, 6 Dec 2024 21:16:59 +0200 Subject: Removed uncessary copying of grid and just modify the grid in place and undo what I do after checking isStuck. --- 2024/go/src/day6/main.go | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) (limited to '2024/go/src/day6/main.go') diff --git a/2024/go/src/day6/main.go b/2024/go/src/day6/main.go index f1505e9..9fb6b78 100644 --- a/2024/go/src/day6/main.go +++ b/2024/go/src/day6/main.go @@ -156,13 +156,17 @@ func solve_part_two(data string) int { ans := 0 for i := range n { for j := range m { - gridCopy := make([]string, len(grid)) - copy(gridCopy, grid) + // gridCopy := make([]string, len(grid)) + // copy(gridCopy, grid) if i != guardPosition[0] || j != guardPosition[1] { - replaceCharGrid(&gridCopy, i, j, '#') - if isStuck(&gridCopy, guardPosition, n*m) { + flag := grid[i][j] == '.' + replaceCharGrid(&grid, i, j, '#') + if isStuck(&grid, guardPosition) { ans++ } + if flag { + replaceCharGrid(&grid, i, j, '.') + } } } } -- cgit v1.2.3