add new solutions

This commit is contained in:
kanna5 2026-01-05 16:48:03 +09:00
parent 886b5e0a8e
commit 67cad91898
Signed by: kkyy
GPG key ID: 06332F3965E9B0CF
47 changed files with 1549 additions and 1 deletions

View file

@ -0,0 +1,29 @@
package q328
type ListNode struct {
Val int
Next *ListNode
}
func oddEvenList(head *ListNode) *ListNode {
odd := &ListNode{}
even := &ListNode{}
pO, pE := odd, even
i := 0
for p := head; p != nil; p = p.Next {
i++
if i%2 == 0 {
pE.Next = p
pE = p
} else {
pO.Next = p
pO = p
}
}
pE.Next = nil
pO.Next = even.Next
return odd.Next
}
var _ = oddEvenList

View file

@ -0,0 +1,24 @@
package q334
import "math"
func increasingTriplet(nums []int) bool {
if len(nums) < 3 {
return false
}
first, second := math.MaxInt, math.MaxInt
for _, x := range nums {
if x <= first {
first = x
} else if x <= second {
second = x
} else {
return true
}
}
return false
}
var _ = increasingTriplet

View file

@ -0,0 +1,41 @@
package q394
import "strings"
func decode(s string) (int, string) {
advanced := 0
number := 0
buf := strings.Builder{}
Loop:
for advanced < len(s) {
advanced++
cur := s[advanced-1]
switch {
case cur >= '0' && cur <= '9':
number = 10*number + int(cur-'0')
case cur == '[':
adv, child := decode(s[advanced:])
advanced += adv
for range number {
buf.WriteString(child)
}
number = 0
case cur == ']':
break Loop
default:
buf.WriteByte(cur)
}
}
return advanced, buf.String()
}
func decodeString(s string) string {
_, ret := decode(s)
return ret
}
var _ = decodeString