Skip to content

Commit 0d8e8fa

Browse files
committed
feat: add solutions to lc problem: No.0643. Maximum Average Subarray I
1 parent 558892f commit 0d8e8fa

File tree

4 files changed

+69
-5
lines changed

4 files changed

+69
-5
lines changed

solution/0600-0699/0643.Maximum Average Subarray I/README.md

+23-3
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@
3232

3333
<!-- 这里可写通用的实现逻辑 -->
3434

35-
滑动窗口
35+
滑动窗口
3636

3737
<!-- tabs:start -->
3838

@@ -41,15 +41,35 @@
4141
<!-- 这里可写当前语言的特殊实现逻辑 -->
4242

4343
```python
44-
44+
class Solution:
45+
def findMaxAverage(self, nums: List[int], k: int) -> float:
46+
s = sum(nums[:k])
47+
ans = s
48+
for i in range(k, len(nums)):
49+
s += (nums[i] - nums[i - k])
50+
ans = max(ans, s)
51+
return ans / k
4552
```
4653

4754
### **Java**
4855

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

5158
```java
52-
59+
class Solution {
60+
public double findMaxAverage(int[] nums, int k) {
61+
int s = 0;
62+
for (int i = 0; i < k; ++i) {
63+
s += nums[i];
64+
}
65+
int ans = s;
66+
for (int i = k; i < nums.length; ++i) {
67+
s += (nums[i] - nums[i - k]);
68+
ans = Math.max(ans, s);
69+
}
70+
return ans * 1.0 / k;
71+
}
72+
}
5373
```
5474

5575
### **TypeScript**

solution/0600-0699/0643.Maximum Average Subarray I/README_EN.md

+24-2
Original file line numberDiff line numberDiff line change
@@ -45,18 +45,40 @@
4545

4646
## Solutions
4747

48+
Slide window.
49+
4850
<!-- tabs:start -->
4951

5052
### **Python3**
5153

5254
```python
53-
55+
class Solution:
56+
def findMaxAverage(self, nums: List[int], k: int) -> float:
57+
s = sum(nums[:k])
58+
ans = s
59+
for i in range(k, len(nums)):
60+
s += (nums[i] - nums[i - k])
61+
ans = max(ans, s)
62+
return ans / k
5463
```
5564

5665
### **Java**
5766

5867
```java
59-
68+
class Solution {
69+
public double findMaxAverage(int[] nums, int k) {
70+
int s = 0;
71+
for (int i = 0; i < k; ++i) {
72+
s += nums[i];
73+
}
74+
int ans = s;
75+
for (int i = k; i < nums.length; ++i) {
76+
s += (nums[i] - nums[i - k]);
77+
ans = Math.max(ans, s);
78+
}
79+
return ans * 1.0 / k;
80+
}
81+
}
6082
```
6183

6284
### **TypeScript**
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
class Solution {
2+
public double findMaxAverage(int[] nums, int k) {
3+
int s = 0;
4+
for (int i = 0; i < k; ++i) {
5+
s += nums[i];
6+
}
7+
int ans = s;
8+
for (int i = k; i < nums.length; ++i) {
9+
s += (nums[i] - nums[i - k]);
10+
ans = Math.max(ans, s);
11+
}
12+
return ans * 1.0 / k;
13+
}
14+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
class Solution:
2+
def findMaxAverage(self, nums: List[int], k: int) -> float:
3+
s = sum(nums[:k])
4+
ans = s
5+
for i in range(k, len(nums)):
6+
s += (nums[i] - nums[i - k])
7+
ans = max(ans, s)
8+
return ans / k

0 commit comments

Comments
 (0)