// 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