Skip to content

Commit f8e2289

Browse files
authored
Update 1027.最长等差数列.py
1 parent 8931051 commit f8e2289

File tree

1 file changed

+5
-1
lines changed

1 file changed

+5
-1
lines changed

leetcode2/1027.最长等差数列.py

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,13 +19,17 @@ def longestArithSeqLength(self, A):
1919
# dp[i][diff]表示以下标为i的元素结尾且公差为diff的等差子序列的最大长度
2020
# 由于使用数组内存开销太大而且公差可能是负数,所以选择使用字典来代替数组
2121
class Solution2(object):
22+
# [9, 4, 7, 2, 10]
2223
def longestArithSeqLength(self, A):
2324
n = len(A)
25+
# [{}, {-5: 2}, {3: 2, -2: 2}, {-7: 2, -5: 2, -2: 2}, {8: 2, 1: 2, 3: 3, 6: 2}]
2426
dp = [{} for _ in range(n)]
2527
res = 2
2628
for i in range(1, n):
2729
for j in range(0, i):
30+
# 计算i下标结尾的元素与前面j下标结尾元素的差
2831
diff = A[i] - A[j]
32+
# 获取j下标结尾元素,且公差为diff的等差子序列最大长度,再加1得到当前等差子序列最大长度并保存
2933
dp[i][diff] = dp[j].get(diff, 1) + 1
3034
res = max(res, dp[i][diff])
31-
return res
35+
return res

0 commit comments

Comments
 (0)