add new solutions
This commit is contained in:
parent
f297e11859
commit
4720cbefc4
8 changed files with 290 additions and 0 deletions
38
solutions/23/q2344/solution.go
Normal file
38
solutions/23/q2344/solution.go
Normal file
|
|
@ -0,0 +1,38 @@
|
|||
// 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
|
||||
Loading…
Add table
Add a link
Reference in a new issue