Skip to content

Commit 73fbb45

Browse files
committed
feat: add solutions to lc problem: No.0908
No.0908.Smallest Range I
1 parent ba9725d commit 73fbb45

File tree

6 files changed

+153
-2
lines changed

6 files changed

+153
-2
lines changed

solution/0900-0999/0908.Smallest Range I/README.md

Lines changed: 54 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -61,15 +61,68 @@
6161
<!-- 这里可写当前语言的特殊实现逻辑 -->
6262

6363
```python
64-
64+
class Solution:
65+
def smallestRangeI(self, nums: List[int], k: int) -> int:
66+
mx, mi = max(nums), min(nums)
67+
return max(0, mx - mi - k * 2)
6568
```
6669

6770
### **Java**
6871

6972
<!-- 这里可写当前语言的特殊实现逻辑 -->
7073

7174
```java
75+
class Solution {
76+
public int smallestRangeI(int[] nums, int k) {
77+
int mx = 0;
78+
int mi = 10000;
79+
for (int v : nums) {
80+
mx = Math.max(mx, v);
81+
mi = Math.min(mi, v);
82+
}
83+
return Math.max(0, mx - mi - k * 2);
84+
}
85+
}
86+
```
87+
88+
### **C++**
89+
90+
```cpp
91+
class Solution {
92+
public:
93+
int smallestRangeI(vector<int>& nums, int k) {
94+
int mx = *max_element(nums.begin(), nums.end());
95+
int mi = *min_element(nums.begin(), nums.end());
96+
return max(0, mx - mi - k * 2);
97+
}
98+
};
99+
```
72100
101+
### **Go**
102+
103+
```go
104+
func smallestRangeI(nums []int, k int) int {
105+
mx, mi := 0, 10000
106+
for _, v := range nums {
107+
mx = max(mx, v)
108+
mi = min(mi, v)
109+
}
110+
return max(0, mx-mi-k*2)
111+
}
112+
113+
func max(a, b int) int {
114+
if a > b {
115+
return a
116+
}
117+
return b
118+
}
119+
120+
func min(a, b int) int {
121+
if a < b {
122+
return a
123+
}
124+
return b
125+
}
73126
```
74127

75128
### **...**

solution/0900-0999/0908.Smallest Range I/README_EN.md

Lines changed: 54 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -53,13 +53,66 @@
5353
### **Python3**
5454

5555
```python
56-
56+
class Solution:
57+
def smallestRangeI(self, nums: List[int], k: int) -> int:
58+
mx, mi = max(nums), min(nums)
59+
return max(0, mx - mi - k * 2)
5760
```
5861

5962
### **Java**
6063

6164
```java
65+
class Solution {
66+
public int smallestRangeI(int[] nums, int k) {
67+
int mx = 0;
68+
int mi = 10000;
69+
for (int v : nums) {
70+
mx = Math.max(mx, v);
71+
mi = Math.min(mi, v);
72+
}
73+
return Math.max(0, mx - mi - k * 2);
74+
}
75+
}
76+
```
77+
78+
### **C++**
79+
80+
```cpp
81+
class Solution {
82+
public:
83+
int smallestRangeI(vector<int>& nums, int k) {
84+
int mx = *max_element(nums.begin(), nums.end());
85+
int mi = *min_element(nums.begin(), nums.end());
86+
return max(0, mx - mi - k * 2);
87+
}
88+
};
89+
```
6290
91+
### **Go**
92+
93+
```go
94+
func smallestRangeI(nums []int, k int) int {
95+
mx, mi := 0, 10000
96+
for _, v := range nums {
97+
mx = max(mx, v)
98+
mi = min(mi, v)
99+
}
100+
return max(0, mx-mi-k*2)
101+
}
102+
103+
func max(a, b int) int {
104+
if a > b {
105+
return a
106+
}
107+
return b
108+
}
109+
110+
func min(a, b int) int {
111+
if a < b {
112+
return a
113+
}
114+
return b
115+
}
63116
```
64117

65118
### **...**
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
class Solution {
2+
public:
3+
int smallestRangeI(vector<int>& nums, int k) {
4+
int mx = *max_element(nums.begin(), nums.end());
5+
int mi = *min_element(nums.begin(), nums.end());
6+
return max(0, mx - mi - k * 2);
7+
}
8+
};
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
func smallestRangeI(nums []int, k int) int {
2+
mx, mi := 0, 10000
3+
for _, v := range nums {
4+
mx = max(mx, v)
5+
mi = min(mi, v)
6+
}
7+
return max(0, mx-mi-k*2)
8+
}
9+
10+
func max(a, b int) int {
11+
if a > b {
12+
return a
13+
}
14+
return b
15+
}
16+
17+
func min(a, b int) int {
18+
if a < b {
19+
return a
20+
}
21+
return b
22+
}
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
class Solution {
2+
public int smallestRangeI(int[] nums, int k) {
3+
int mx = 0;
4+
int mi = 10000;
5+
for (int v : nums) {
6+
mx = Math.max(mx, v);
7+
mi = Math.min(mi, v);
8+
}
9+
return Math.max(0, mx - mi - k * 2);
10+
}
11+
}
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
class Solution:
2+
def smallestRangeI(self, nums: List[int], k: int) -> int:
3+
mx, mi = max(nums), min(nums)
4+
return max(0, mx - mi - k * 2)

0 commit comments

Comments
 (0)