0
我對時間複雜性很陌生。
首先溶液說,機器人將在一個方向上在另一方向上從0
移動p
次,然後m - p
,對於p
到m
,對我來說這是:
sums = []
for left in 0..m
sums[left] = 0
for right in 0..(m-left)
sums[left] += A[k - left + right] || 0
A[k - left + right] = 0
A
是輸入陣列,k
是一個初始位置,即一個給定的常數。
從我瞭解的複雜性將是:
O(m + m+(m-1)+(m-2)+...+3+2+1)
| -----------------------
| |
because because the inner loop
first loop
O(m + (m*(m+1))/2)
O(m + (m*(m+1))/2)
O(m^2) ?
什麼這裏是我的錯誤?
此問題的解決方案指出複雜度爲O(n*m)
,您能解釋我爲什麼嗎?
對不起,我忘了提到'k'我更新了問題,機器人在'k'位置開始並移動了'm'次,我無法理解爲什麼'n'被涉及,你能解釋一下嗎? – juanpastas