lc-go/solutions/23/q2344/solution.go
2026-03-19 15:30:30 +09:00

38 lines
590 B
Go

// Package q2344 implements a solution for https://leetcode.com/problems/minimum-deletions-to-make-array-divisible/
package q2344
import "slices"
func gcd(a, b int) int {
if a < b {
a, b = b, a
}
for a%b != 0 {
a, b = b, a%b
}
return b
}
func minOperations(nums []int, numsDivide []int) int {
slices.Sort(nums)
gcdAll := numsDivide[0]
for _, num := range numsDivide {
gcdAll = gcd(gcdAll, num)
if gcdAll == 1 {
break
}
}
for i := range nums {
if nums[i] > gcdAll {
break
}
if gcdAll%nums[i] == 0 {
return i
}
}
return -1
}
var _ = minOperations