add new solutions

This commit is contained in:
kanna5 2026-01-05 16:48:03 +09:00
parent ca24d0a56a
commit 0c73608ce5
Signed by: kkyy
GPG key ID: 06332F3965E9B0CF
36 changed files with 791 additions and 0 deletions

View file

@ -0,0 +1,31 @@
package q712
func minimumDeleteSum(s1 string, s2 string) int {
mds := make([][]int, len(s1)+1)
for i := range mds {
mds[i] = make([]int, len(s2)+1)
}
for i := range len(s1) {
mds[i+1][0] = mds[i][0] + int(s1[i])
}
for i := range len(s2) {
mds[0][i+1] = mds[0][i] + int(s2[i])
}
for i1 := 1; i1 <= len(s1); i1++ {
for i2 := 1; i2 <= len(s2); i2++ {
if s1[i1-1] == s2[i2-1] {
mds[i1][i2] = mds[i1-1][i2-1]
} else {
mds[i1][i2] = min(
mds[i1-1][i2]+int(s1[i1-1]),
mds[i1][i2-1]+int(s2[i2-1]),
)
}
}
}
return mds[len(s1)][len(s2)]
}
var _ = minimumDeleteSum

View file

@ -0,0 +1,17 @@
package q717
func isOneBitCharacter(bits []int) bool {
if len(bits) == 1 {
return true
}
if bits[len(bits)-2] == 0 {
return true
}
cnt1 := 0
for i := len(bits) - 2; i >= 0 && bits[i] == 1; i-- {
cnt1++
}
return cnt1%2 == 0
}
var _ = isOneBitCharacter