不定时更新,大多为leetcode周赛时遇到的影响刷题效率的错误
arr=[1,2,3,3,4]
a="".join(arr)
print(a)
TypeError: sequence item 0: expected str instance, int found
解决办法:把list转成strarr=map(str,arr)
arr=[1,2,3,3,4]
arr=map(str,arr)
a="".join(arr)
print(a)
matrix=[[1,2,3],[4,5,6],[7,8,9]]
print (matrix)
matrix90=list(zip(*matrix))
print (matrix90)
解决办法:把元组转换为list
matrix=[[1,2,3],[4,5,6],[7,8,9]]
print (matrix)
matrix90=list(zip(*matrix))
matrix90=[list(i) for i in matrix90 ]
print (matrix90)
以前遇到全排列的题都是上回溯
s="abs"
n=len(s)
s=sorted(s)
visited=[False for _ in range(n)]
ans=[]
def dfs(ss):
if len(ss)==n:
ans.append(ss)
return
for i in range(n):
if i>0 and s[i-1]==s[i] and not visited[i-1]:
continue
if not visited[i]:
visited[i]=True
dfs(ss+s[i])
visited[i]=False
return
dfs('')
print(ans)
突然看到可以用permutations函数,爱了,mark一下
from itertools import permutations
s="abs"
print (list(set("".join(list(i)) for i in permutations(s))))
rows=2
cols=7
visited = [[False] *cols] *rows
print(visited)
visited[0][0]=True
print(visited)
妈的发现怎么第一列全改了
看一下矩阵第一行第二行的物理地址,是同一个
rows=2
cols=7
visited = [[False] *cols] *rows
print(id(visited[0]))
print(id(visited[1]))
应该这样创建
rows=2
cols=7
visited = [[False] *cols for _ in range(rows)]
print(id(visited[0]))
print(id(visited[1]))
本站文章除注明转载/出处外,均为本站原创,转载前请务必署名,转载请标明出处 最后编辑时间为: 2021/06/26 14:28:30