python - UnboundLocalError:分配前引用的局部变量“cnt”
问题描述
class Solution:
def subarraysDivByK(self, A, K):
"""
:type A: List[int]
:type K: int
:rtype: int
"""
l = len(A)
div = [[0 for col in range(l)] for row in range(l)]
sums = [[None for col in range(l)] for row in range(l)]
global cnt
cnt = 0
for i in range(l):
if A[i]%K == 0:
div[i][i] = 1
cnt = cnt+1
def impl(self,st,en):
print(st,en)
if sums[st][en]!=None:
return sums[st][en]
if A[st] == A[en]:
if A[st]%K == 0:
sums[st][st] = A[st]
div[st][st] = 1
print(st,en,sums[st][en])
if sums[st][en]%k == 0:
div[st][en] = 1
cnt = cnt+1
return sums[st][st]
elif st+1==en:
sums[st][en] = A[st]+A[en]
print(st,en,sums[st][en])
if sums[st][en]%K == 0:
div[st][en] = 1
cnt = cnt+1
return sums[st][en]
else:
if sums[st+1][en]==None:
sums[st][en] = impl(self,st+1,en)+A[st]
if sums[st][en-1]==None:
sums[st][en] = impl(self,st,en-1)+A[en]
#sums[st][en] = sums[st+1][en]+ A[st]
print(st,en,sums[st][en])
if sums[st][en]%K == 0:
div[st][en] = 1
cnt = cnt+1
return sums[st][en]
impl(self,0,len(A)-1)
print(cnt)
#print(sums)
解决方案
推荐阅读
- python - 切片类似于 numpy np.ix_ 的 2D 张量
- flutter - 在 Flutter 应用中使用 Stream 填充 TextEditingController
- javascript - 用 am pm 格式化字符串日期
- node.js - mongodb 接受所有数据类型值但是定义的类型是数字它应该只接受数字类型
- python - 如何将 Splunk 自定义报告命令的输出通过管道传输到另一个 Splunk 命令?
- javascript - 将 plotly 条形图保存到 json 并导入 html 文件会删除条形标签
- html - 如何将我的表情符号与标题文本对齐?
- java - 无法在 Spring 2.5 App 上运行 Java 7。说它需要 Java 1.5 或更高版本
- javascript - 无法使用 @kubernetes/client-node 获取集群内的所有作业
- java - 如何使用 Kotlin 和 Retrofit 在 Android 中绕过 HTTPS SSL 证书验证