add new solutions
This commit is contained in:
parent
51975f3386
commit
489fa73880
13 changed files with 437 additions and 3 deletions
33
solutions/36/q3634/solution.go
Normal file
33
solutions/36/q3634/solution.go
Normal file
|
|
@ -0,0 +1,33 @@
|
|||
package q3634
|
||||
|
||||
import "slices"
|
||||
|
||||
const INF int = 1<<63 - 1
|
||||
|
||||
func minRemoval(nums []int, k int) int {
|
||||
slices.Sort(nums)
|
||||
minRem := INF
|
||||
|
||||
for i := 0; i < min(len(nums), minRem); i++ {
|
||||
if i > 0 && nums[i] == nums[i-1] {
|
||||
continue
|
||||
}
|
||||
target := nums[i] * k
|
||||
|
||||
l, r := i, len(nums)
|
||||
for l < r {
|
||||
m := (l + r) / 2
|
||||
switch {
|
||||
case nums[m] > target:
|
||||
r = m
|
||||
default:
|
||||
l = m + 1
|
||||
}
|
||||
}
|
||||
|
||||
minRem = min(minRem, i+len(nums)-l)
|
||||
}
|
||||
return minRem
|
||||
}
|
||||
|
||||
var _ = minRemoval
|
||||
Loading…
Add table
Add a link
Reference in a new issue