add new solutions

This commit is contained in:
kanna5 2026-01-27 18:38:43 +09:00
parent 67cad91898
commit 81cc2d3ba6
No known key found for this signature in database
19 changed files with 693 additions and 14 deletions

View file

@ -1 +1,22 @@
package q435
import (
"math"
"slices"
)
func eraseOverlapIntervals(intervals [][]int) int {
slices.SortFunc(intervals, func(a, b []int) int { return a[1] - b[1] })
keep := 0
end := math.MinInt
for i := range intervals {
if intervals[i][0] >= end {
end = intervals[i][1]
keep++
}
}
return len(intervals) - keep
}
var _ = eraseOverlapIntervals

View file

@ -0,0 +1,46 @@
package q450
type TreeNode struct {
Val int
Left *TreeNode
Right *TreeNode
}
func del(node *TreeNode) *TreeNode {
if node == nil || node.Left == nil && node.Right == nil {
return nil // is leaf
}
if node.Left == nil {
return node.Right
}
if node.Right == nil {
return node.Left
}
p := node.Left
for p.Right != nil {
p = p.Right
}
p.Right = node.Right
return node.Left
}
func findAndDel(node **TreeNode, key int) {
if *node == nil {
return
}
if (**node).Val == key {
*node = del(*node)
} else if key < (**node).Val {
findAndDel(&(**node).Left, key)
} else {
findAndDel(&(**node).Right, key)
}
}
func deleteNode(root *TreeNode, key int) *TreeNode {
findAndDel(&root, key)
return root
}
var _ = deleteNode