首页 > 阿里8.17笔试 Python解法
头像
yQpy.
编辑于 2020-08-17 21:08
+ 关注

阿里8.17笔试 Python解法

1.碰到很多小伙伴说python的list没办法hash,其实这里可以用一个字符串代替的。 AC 100%
n,K=map(int,input().split())
a=[]
for _ in range(n):
    a.append(list(map(int,input().split())))
res=0
cache={}
for i in range(len(a)):
    temp=''
    t=''
    for j in range(1,K):
        temp+=str(a[i][j]-a[i][j-1])
        t+=str(-a[i][j]+a[i][j-1])
        temp+=' '
        t+=' '
    if t in cache:
        res+=cache[t]
    if temp not in cache:
        cache[temp]=1
    else:
        cache[temp]+=1
print(res)

2.dfs+cache  AC 100%
n,m=map(int,input().split())
res,cache=0,{}
def dfs(n,m):
    if (n,m) in cache: return cache[(n,m)]
    if m==0: return 0
    if n==0: return 1
    res=0
    for i in range(n): res+=dfs(i,m-1)*dfs(n-i-1,m-1)
    cache[(n,m)]=res
    return res
print(dfs(n,m+1))



全部评论

(2) 回帖
加载中...
话题 回帖

推荐话题

相关热帖

历年真题 真题热练榜 24小时
技术(软件)/信息技术类
查看全部

近期精华帖

热门推荐