From 5dc67e8bc7a171acb214381bb740c92f014239b5 Mon Sep 17 00:00:00 2001
From: ductnn <trannhuduc531998@gmail.com>
Date: Thu, 14 Dec 2023 13:54:18 +0700
Subject: [PATCH] add sol

---
 ...erenceBetweenOnesAndZerosInRowAndColumn.go | 56 +++++++++++++++++++
 1 file changed, 56 insertions(+)
 create mode 100644 leetcode/2482.DifferenceBetweenOnesAndZerosInRowAndColumn/differenceBetweenOnesAndZerosInRowAndColumn.go

diff --git a/leetcode/2482.DifferenceBetweenOnesAndZerosInRowAndColumn/differenceBetweenOnesAndZerosInRowAndColumn.go b/leetcode/2482.DifferenceBetweenOnesAndZerosInRowAndColumn/differenceBetweenOnesAndZerosInRowAndColumn.go
new file mode 100644
index 0000000..da06355
--- /dev/null
+++ b/leetcode/2482.DifferenceBetweenOnesAndZerosInRowAndColumn/differenceBetweenOnesAndZerosInRowAndColumn.go
@@ -0,0 +1,56 @@
+package main
+
+import (
+	"fmt"
+)
+
+func onesMinusZeros(grid [][]int) [][]int {
+	m := len(grid)
+	n := len(grid[0])
+
+	rows := make([]int, m)
+	cols := make([]int, n)
+
+	diff := make([][]int, m)
+
+	for i, row := range grid {
+		diff[i] = make([]int, n)
+		for j, v := range row {
+			rows[i] += v
+			cols[j] += v
+		}
+	}
+
+	for i := 0; i < m; i++ {
+		for j := 0; j < n; j++ {
+			diff[i][j] = rows[i] + cols[j] - (n - rows[i]) - (m - cols[j])
+		}
+	}
+
+	return diff
+}
+
+func onesMinusZeros1(grid [][]int) [][]int {
+	m, n := len(grid), len(grid[0])
+	oneRows, oneCols := make([]int, m), make([]int, n)
+
+	for i := 0; i < m; i++ {
+		for j := 0; j < n; j++ {
+			oneRows[i] += grid[i][j] + grid[i][j]
+			oneCols[j] += grid[i][j] + grid[i][j]
+		}
+	}
+
+	for i := 0; i < m; i++ {
+		for j := 0; j < n; j++ {
+			grid[i][j] = oneRows[i] + oneCols[j] - m - n
+		}
+	}
+
+	return grid
+}
+
+func main() {
+	grid := [][]int{{0, 1, 1}, {1, 0, 1}, {0, 0, 1}}
+	fmt.Println(onesMinusZeros(grid))
+}