add new solutions
This commit is contained in:
parent
ca24d0a56a
commit
0c73608ce5
36 changed files with 791 additions and 0 deletions
31
solutions/7/q712/solution.go
Normal file
31
solutions/7/q712/solution.go
Normal 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
|
||||
Loading…
Add table
Add a link
Reference in a new issue