From 0dbac6b9f018f3fe7971ec78098b413ec02af40e Mon Sep 17 00:00:00 2001 From: Yiyang Kang Date: Sun, 8 Feb 2026 15:19:01 +0900 Subject: [PATCH] stash 1 --- go.mod | 6 +++--- go.sum | 6 ++++++ solutions/1/q110/solution.go | 36 ++++++++++++++++++++++++++++++++++ solutions/16/q1653/solution.go | 18 +++++++++++++++++ 4 files changed, 63 insertions(+), 3 deletions(-) create mode 100644 solutions/1/q110/solution.go create mode 100644 solutions/16/q1653/solution.go diff --git a/go.mod b/go.mod index adecd14..c275cca 100644 --- a/go.mod +++ b/go.mod @@ -4,12 +4,12 @@ go 1.25.5 require ( github.com/emirpasic/gods/v2 v2.0.0-alpha - github.com/k0kubun/pp/v3 v3.5.0 + github.com/k0kubun/pp/v3 v3.5.1 ) require ( github.com/mattn/go-colorable v0.1.14 // indirect github.com/mattn/go-isatty v0.0.20 // indirect - golang.org/x/sys v0.39.0 // indirect - golang.org/x/text v0.32.0 // indirect + golang.org/x/sys v0.40.0 // indirect + golang.org/x/text v0.33.0 // indirect ) diff --git a/go.sum b/go.sum index 3130a0b..fe682d3 100644 --- a/go.sum +++ b/go.sum @@ -2,6 +2,8 @@ github.com/emirpasic/gods/v2 v2.0.0-alpha h1:dwFlh8pBg1VMOXWGipNMRt8v96dKAIvBeht github.com/emirpasic/gods/v2 v2.0.0-alpha/go.mod h1:W0y4M2dtBB9U5z3YlghmpuUhiaZT2h6yoeE+C1sCp6A= github.com/k0kubun/pp/v3 v3.5.0 h1:iYNlYA5HJAJvkD4ibuf9c8y6SHM0QFhaBuCqm1zHp0w= github.com/k0kubun/pp/v3 v3.5.0/go.mod h1:5lzno5ZZeEeTV/Ky6vs3g6d1U3WarDrH8k240vMtGro= +github.com/k0kubun/pp/v3 v3.5.1 h1:fS8Xt0MWVVSiKwfXeIdE0WJlktdA87/gt0Hs0+j2R2s= +github.com/k0kubun/pp/v3 v3.5.1/go.mod h1:s7qPOSp65uuilpprLJs2yDi9DNd7JGyWJPtPvDFpG9w= github.com/mattn/go-colorable v0.1.14 h1:9A9LHSqF/7dyVVX6g0U9cwm9pG3kP9gSzcuIPHPsaIE= github.com/mattn/go-colorable v0.1.14/go.mod h1:6LmQG8QLFO4G5z1gPvYEzlUgJ2wF+stgPZH1UqBm1s8= github.com/mattn/go-isatty v0.0.20 h1:xfD0iDuEKnDkl03q4limB+vH+GxLEtL/jb4xVJSWWEY= @@ -9,5 +11,9 @@ github.com/mattn/go-isatty v0.0.20/go.mod h1:W+V8PltTTMOvKvAeJH7IuucS94S2C6jfK/D golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.39.0 h1:CvCKL8MeisomCi6qNZ+wbb0DN9E5AATixKsvNtMoMFk= golang.org/x/sys v0.39.0/go.mod h1:OgkHotnGiDImocRcuBABYBEXf8A9a87e/uXjp9XT3ks= +golang.org/x/sys v0.40.0 h1:DBZZqJ2Rkml6QMQsZywtnjnnGvHza6BTfYFWY9kjEWQ= +golang.org/x/sys v0.40.0/go.mod h1:OgkHotnGiDImocRcuBABYBEXf8A9a87e/uXjp9XT3ks= golang.org/x/text v0.32.0 h1:ZD01bjUt1FQ9WJ0ClOL5vxgxOI/sVCNgX1YtKwcY0mU= golang.org/x/text v0.32.0/go.mod h1:o/rUWzghvpD5TXrTIBuJU77MTaN0ljMWE47kxGJQ7jY= +golang.org/x/text v0.33.0 h1:B3njUFyqtHDUI5jMn1YIr5B0IE2U0qck04r6d4KPAxE= +golang.org/x/text v0.33.0/go.mod h1:LuMebE6+rBincTi9+xWTY8TztLzKHc/9C1uBCG27+q8= diff --git a/solutions/1/q110/solution.go b/solutions/1/q110/solution.go new file mode 100644 index 0000000..94b73e1 --- /dev/null +++ b/solutions/1/q110/solution.go @@ -0,0 +1,36 @@ +package q110 + +type TreeNode struct { + Val int + Left *TreeNode + Right *TreeNode +} + +func abs(a int) int { + if a < 0 { + return -a + } + return a +} + +func isBalancedInternal(node *TreeNode, lvl int) (bool, int) { + if node == nil { + return true, lvl + } + + lBal, lDpth := isBalancedInternal(node.Left, lvl+1) + rBal, rDpth := isBalancedInternal(node.Right, lvl+1) + dpth := max(lDpth, rDpth) + + if !lBal || !rBal || abs(lDpth-rDpth) > 1 { + return false, dpth + } + return true, dpth +} + +func isBalanced(root *TreeNode) bool { + ret, _ := isBalancedInternal(root, 0) + return ret +} + +var _ = isBalanced diff --git a/solutions/16/q1653/solution.go b/solutions/16/q1653/solution.go new file mode 100644 index 0000000..5ccfeca --- /dev/null +++ b/solutions/16/q1653/solution.go @@ -0,0 +1,18 @@ +package q1653 + +func minimumDeletions(s string) int { + bestA, bestB := 0, 0 + + for i := range len(s) { + switch s[i] { + case 'a': + bestB++ + case 'b': + bestA, bestB = bestA+1, min(bestA, bestB) + } + } + + return min(bestA, bestB) +} + +var _ = minimumDeletions