File tree 6 files changed +111
-39
lines changed
solution/1900-1999/1984.Minimum Difference Between Highest and Lowest of K Scores
6 files changed +111
-39
lines changed Original file line number Diff line number Diff line change 49
49
50
50
<!-- 这里可写通用的实现逻辑 -->
51
51
52
+ 排序。
53
+
52
54
<!-- tabs:start -->
53
55
54
56
### ** Python3**
58
60
``` python
59
61
class Solution :
60
62
def minimumDifference (self , nums : List[int ], k : int ) -> int :
61
- if k == 1 :
62
- return 0
63
63
nums.sort()
64
- ans = maxsize
65
- for i in range (len (nums) - k + 1 ):
66
- ans = min (ans, nums[i + k - 1 ] - nums[i])
67
- return ans
64
+ return min (nums[i + k - 1 ] - nums[i] for i in range (len (nums) - k + 1 ))
68
65
```
69
66
70
67
### ** Java**
@@ -74,19 +71,50 @@ class Solution:
74
71
``` java
75
72
class Solution {
76
73
public int minimumDifference (int [] nums , int k ) {
77
- if (k == 1 ) {
78
- return 0 ;
79
- }
80
74
Arrays . sort(nums);
81
- int min = Integer . MAX_VALUE ;
82
- for (int i = 0 ; i < nums. length - k + 1 ; i ++ ) {
83
- min = Math . min(( nums[i + k - 1 ] - nums[i]), min );
75
+ int ans = 100000 ;
76
+ for (int i = 0 ; i < nums. length - k + 1 ; ++ i ) {
77
+ ans = Math . min(ans, nums[i + k - 1 ] - nums[i]);
84
78
}
85
- return min ;
79
+ return ans ;
86
80
}
87
81
}
88
82
```
89
83
84
+ ### ** C++**
85
+
86
+ ``` cpp
87
+ class Solution {
88
+ public:
89
+ int minimumDifference(vector<int >& nums, int k) {
90
+ sort(nums.begin(), nums.end());
91
+ int ans = 1e5;
92
+ for (int i = 0; i < nums.size() - k + 1; ++i)
93
+ ans = min(ans, nums[ i + k - 1] - nums[ i] );
94
+ return ans;
95
+ }
96
+ };
97
+ ```
98
+
99
+
100
+ ```go
101
+ func minimumDifference(nums []int, k int) int {
102
+ sort.Ints(nums)
103
+ ans := 100000
104
+ for i := 0; i < len(nums)-k+1; i++ {
105
+ ans = min(ans, nums[i+k-1]-nums[i])
106
+ }
107
+ return ans
108
+ }
109
+
110
+ func min(a, b int) int {
111
+ if a < b {
112
+ return a
113
+ }
114
+ return b
115
+ }
116
+ ```
117
+
90
118
### ** ...**
91
119
92
120
```
Original file line number Diff line number Diff line change @@ -52,30 +52,57 @@ The minimum possible difference is 2.</pre>
52
52
``` python
53
53
class Solution :
54
54
def minimumDifference (self , nums : List[int ], k : int ) -> int :
55
- if k == 1 :
56
- return 0
57
55
nums.sort()
58
- ans = maxsize
59
- for i in range (len (nums) - k + 1 ):
60
- ans = min (ans, nums[i + k - 1 ] - nums[i])
61
- return ans
56
+ return min (nums[i + k - 1 ] - nums[i] for i in range (len (nums) - k + 1 ))
62
57
```
63
58
64
59
### ** Java**
65
60
66
61
``` java
67
62
class Solution {
68
63
public int minimumDifference (int [] nums , int k ) {
69
- if (k == 1 ) {
70
- return 0 ;
71
- }
72
64
Arrays . sort(nums);
73
- int min = Integer . MAX_VALUE ;
74
- for (int i = 0 ; i < nums. length - k + 1 ; i ++ ) {
75
- min = Math . min(( nums[i + k - 1 ] - nums[i]), min );
65
+ int ans = 100000 ;
66
+ for (int i = 0 ; i < nums. length - k + 1 ; ++ i ) {
67
+ ans = Math . min(ans, nums[i + k - 1 ] - nums[i]);
76
68
}
77
- return min;
69
+ return ans;
70
+ }
71
+ }
72
+ ```
73
+
74
+ ### ** C++**
75
+
76
+ ``` cpp
77
+ class Solution {
78
+ public:
79
+ int minimumDifference(vector<int >& nums, int k) {
80
+ sort(nums.begin(), nums.end());
81
+ int ans = 1e5;
82
+ for (int i = 0; i < nums.size() - k + 1; ++i)
83
+ ans = min(ans, nums[ i + k - 1] - nums[ i] );
84
+ return ans;
78
85
}
86
+ };
87
+ ```
88
+
89
+ ### **Go**
90
+
91
+ ```go
92
+ func minimumDifference(nums []int, k int) int {
93
+ sort.Ints(nums)
94
+ ans := 100000
95
+ for i := 0; i < len(nums)-k+1; i++ {
96
+ ans = min(ans, nums[i+k-1]-nums[i])
97
+ }
98
+ return ans
99
+ }
100
+
101
+ func min(a, b int) int {
102
+ if a < b {
103
+ return a
104
+ }
105
+ return b
79
106
}
80
107
```
81
108
Original file line number Diff line number Diff line change
1
+ class Solution {
2
+ public:
3
+ int minimumDifference (vector<int >& nums, int k) {
4
+ sort (nums.begin (), nums.end ());
5
+ int ans = 1e5 ;
6
+ for (int i = 0 ; i < nums.size () - k + 1 ; ++i)
7
+ ans = min (ans, nums[i + k - 1 ] - nums[i]);
8
+ return ans;
9
+ }
10
+ };
Original file line number Diff line number Diff line change
1
+ func minimumDifference (nums []int , k int ) int {
2
+ sort .Ints (nums )
3
+ ans := 100000
4
+ for i := 0 ; i < len (nums )- k + 1 ; i ++ {
5
+ ans = min (ans , nums [i + k - 1 ]- nums [i ])
6
+ }
7
+ return ans
8
+ }
9
+
10
+ func min (a , b int ) int {
11
+ if a < b {
12
+ return a
13
+ }
14
+ return b
15
+ }
Original file line number Diff line number Diff line change 1
1
class Solution {
2
2
public int minimumDifference (int [] nums , int k ) {
3
- if (k == 1 ) {
4
- return 0 ;
5
- }
6
3
Arrays .sort (nums );
7
- int min = Integer . MAX_VALUE ;
8
- for (int i = 0 ; i < nums .length - k + 1 ; i ++ ) {
9
- min = Math .min (( nums [i + k - 1 ] - nums [i ]), min );
4
+ int ans = 100000 ;
5
+ for (int i = 0 ; i < nums .length - k + 1 ; ++ i ) {
6
+ ans = Math .min (ans , nums [i + k - 1 ] - nums [i ]);
10
7
}
11
- return min ;
8
+ return ans ;
12
9
}
13
10
}
Original file line number Diff line number Diff line change 1
1
class Solution :
2
2
def minimumDifference (self , nums : List [int ], k : int ) -> int :
3
- if k == 1 :
4
- return 0
5
3
nums .sort ()
6
- ans = maxsize
7
- for i in range (len (nums ) - k + 1 ):
8
- ans = min (ans , nums [i + k - 1 ] - nums [i ])
9
- return ans
4
+ return min (nums [i + k - 1 ] - nums [i ] for i in range (len (nums ) - k + 1 ))
You can’t perform that action at this time.
0 commit comments