Skip to content

Commit

Permalink
add sol
Browse files Browse the repository at this point in the history
  • Loading branch information
ductnn committed Dec 23, 2024
1 parent 286c02b commit 2d51fad
Show file tree
Hide file tree
Showing 2 changed files with 60 additions and 0 deletions.
34 changes: 34 additions & 0 deletions leetcode/topic/sorting/1984/sol.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
// https://leetcode.com/problems/minimum-difference-between-highest-and-lowest-of-k-scores/
package main

import (
"fmt"
"math"
"sort"
)

func minimumDifference(nums []int, k int) int {
if k == 1 {
return 0
}

sort.Ints(nums)

minDiff := math.MaxInt32

for i := 0; i <= len(nums)-k; i++ {
diff := nums[i+k-1] - nums[i]
if diff < minDiff {
minDiff = diff
}
}

return minDiff
}

func main() {
nums := []int{9, 4, 1, 7}
k := 2
result := minimumDifference(nums, k)
fmt.Println(result)
}
26 changes: 26 additions & 0 deletions leetcode/topic/sorting/1984/sol.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
from typing import List

class Solution:
def minimumDifference(self, nums: List[int], k: int) -> int:
if k == 1:
return 0 # If k is 1, the difference is always 0

# Sort the scores
nums.sort()

# Initialize the minimum difference
min_diff = float('inf')

# Slide over the sorted array to find the minimum difference
for i in range(len(nums) - k + 1):
diff = nums[i + k - 1] - nums[i]
min_diff = min(min_diff, diff)

return min_diff

if __name__ == "__main__":
solution = Solution()
nums = [9, 4, 1, 7]
k = 2
result = solution.minimumDifference(nums, k)
print(result)

0 comments on commit 2d51fad

Please sign in to comment.