add new solutions

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

View file

@ -0,0 +1,16 @@
package q1431
import "slices"
func kidsWithCandies(candies []int, extraCandies int) []bool {
ret := make([]bool, len(candies))
maxC := slices.Max(candies)
for i, c := range candies {
if c+extraCandies >= maxC {
ret[i] = true
}
}
return ret
}
var _ = kidsWithCandies

View file

@ -0,0 +1,38 @@
package q1458
import "math"
func maxDotProduct(nums1 []int, nums2 []int) int {
board := make([][]int, len(nums1))
boardBuf := make([]int, len(nums1)*len(nums2))
for i := range board {
board[i] = boardBuf[i*len(nums2) : (i+1)*len(nums2)]
}
maxSingle := math.MinInt
for i1 := range nums1 {
for i2 := range nums2 {
prod := nums1[i1] * nums2[i2]
maxSingle = max(maxSingle, prod)
if i1 > 0 && i2 > 0 {
prod += board[i1-1][i2-1]
}
board[i1][i2] = max(0, prod)
if i2 > 0 {
board[i1][i2] = max(board[i1][i2-1], board[i1][i2])
}
if i1 > 0 {
board[i1][i2] = max(board[i1-1][i2], board[i1][i2])
}
}
}
if maxSingle <= 0 {
return maxSingle
}
return board[len(nums1)-1][len(nums2)-1]
}
var _ = maxDotProduct

View file

@ -0,0 +1,14 @@
package q1470
func shuffle(nums []int, n int) []int {
ret := make([]int, n*2)
for i, num := range nums[:n] {
ret[i*2] = num
}
for i, num := range nums[n : n*2] {
ret[i*2+1] = num
}
return ret
}
var _ = shuffle