Hãy luôn nhớ cảm ơn và vote 5*
nếu câu trả lời hữu ích nhé!
2901
1848
Sang Python nhé.
`**` Đầu tiên cần dịch các hàm, hàm inputArrayInt() không cần thiết nên ta sẽ bỏ qua nó, hàm findMaxAverage() sẽ được dịch như sau:
$\color{#23d78c}{\texttt{P}}\color{#9ee36f}{\texttt{y}}\color{#10c1ed}{\texttt{t}}\color{#10c1ed}{\texttt{h}}\color{#c6ea64}{\texttt{o}}\color{#fbfb45}{\texttt{n}}$
def findMaxAverage(nums, k): # Khai báo hàm
#prefix sum
preSum = [0] * len(nums)
preSum[0] = nums[0]
for i in range(1, len(nums)):
preSum[i] = nums[i] + preSum[i-1]
#Tìm đoạn nums[i] -> nums[i+k] có tổng lớn nhất
max_ = preSum[k-1]
for i in range(k, len(nums)):
temp = preSum[i] - preSum[i-k]
max_ = max(max_, temp)
return max_ / k # max_ / 1.0 là không cần thiết
`**` Tiếp theo, dịch chương trình chính, phần này dịch khá đơn giản:
$\color{#23d78c}{\texttt{P}}\color{#9ee36f}{\texttt{y}}\color{#10c1ed}{\texttt{t}}\color{#10c1ed}{\texttt{h}}\color{#c6ea64}{\texttt{o}}\color{#fbfb45}{\texttt{n}}$
nums = list(map(int, input().split())) # Đọc mảng trên cùng dòng
k = int(input()) # Nhập k
print('%.5f' % findMaxAverage(nums, k))
$\\$
$\\$
Cả chương trình:
$\color{#23d78c}{\texttt{P}}\color{#9ee36f}{\texttt{y}}\color{#10c1ed}{\texttt{t}}\color{#10c1ed}{\texttt{h}}\color{#c6ea64}{\texttt{o}}\color{#fbfb45}{\texttt{n}}$
def findMaxAverage(nums, k): # Khai báo hàm
#prefix sum
preSum = [0] * len(nums)
preSum[0] = nums[0]
for i in range(1, len(nums)):
preSum[i] = nums[i] + preSum[i-1]
#Tìm đoạn nums[i] -> nums[i+k] có tổng lớn nhất
max_ = preSum[k-1]
for i in range(k, len(nums)):
temp = preSum[i] - preSum[i-k]
max_ = max(max_, temp)
return max_ / k # max_ / 1.0 là không cần thiết
nums = list(map(int, input().split())) # Đọc mảng trên cùng dòng
k = int(input()) # Nhập k
print('%.5f' % findMaxAverage(nums, k))
$\\$
\begin{array}{c|c|c}\color{#ffd710}{\texttt{\{}} \color{#8655d6}{\texttt{\{}}\ \ \color{#8cdcda}{\text{Daoanhviet96}}\ \ \color{#8655d6}{\texttt{\}}} \color{#ffd710}{\texttt{\}}}\end{array}
Hãy giúp mọi người biết câu trả lời này thế nào?
Bảng tin