快手20190916
1.
arr = list(map(str, input().strip().split()))
if arr[-1]=='.':
arr.pop()
else:
arr[-1]=arr[-1][:-1]
arr=arr[::-1]
print(' '.join(arr),end='.\n')
2.
stra = str(input().strip())
strb = str(input().strip())
n = len(stra)
m = len(strb)
if n * m == 0:
print(n+m)
else:
d = [ [0] * (m + 1) for x in range(n + 1)]
for i in range(n + 1):
d[i][0] = i
for j in range(m + 1):
d[0][j] = j
for i in range(1, n + 1):
for j in range(1, m + 1):
left = d[i - 1][j] + 1
down = d[i][j - 1] + 1
left_down = d[i - 1][j - 1]
if stra[i - 1] != strb[j - 1]:
left_down += 1
d[i][j] = min(left, down, left_down)
print(d[n][m])
3.
筛素数法
n = int(input().strip())
shuzu=[i for i in range(n+1)]
sum1=0
for i in range(2,n+1):
if shuzu[i]!=1:
t=shuzu[i]
shuzu[i]=shuzu[i]//shuzu[i]
sum1=sum1+1
for j in range(2*t,n+1,t):
while shuzu[j]%t==0:
shuzu[j]=shuzu[j]//t
sum1=sum1+1
#print(shuzu)
print(sum1)
4.
boar=[]
for i in range(9):
stra = str(input().strip())
boar.append(stra)
ans='true'
row = [{} for i in range(9)]
column = [{} for i in range(9)]
box = [{} for i in range(9)]
for i in range(9):
for j in range(9):
num = boar[i][j]
if num != 'X':
num = int(num)
box_index = (i // 3 ) * 3 + j // 3
row[i][num] = row[i].get(num, 0) + 1
column[j][num] = column[j].get(num, 0) + 1
box[box_index][num] = box[box_index].get(num, 0) + 1
if row[i][num] > 1 or column[j][num] > 1 or box[box_index][num] > 1:
ans='false'
print(ans)
英伟达20190916
1.实现矩阵乘法
如果A是个x行y列的矩阵,B是个y行z列的矩阵,把A和B相乘,其结果将是另一个x行z列的矩阵C。这个矩阵的每个元素是由下面的公式决定的:
输入描述:
输入包含多组数据,每组数据包含:
第一行包含一个正整数x,代表第一个矩阵的行数,
第二行包含一个正整数y,代表第一个矩阵的列数和第二个矩阵的行数,
第三行包含一个正整数z,代表第二个矩阵的列数
之后x行,每行y个整数,代表第一个矩阵的值
之后y行,每行z个整数,代表第二个矩阵的值
输出描述:
对于每组输入数据,输出x行,每行z个整数,代表两个矩阵相乘的结果
分析:
题目有问题,样例有好几个,需要加一个while,导致没过,坑。。。
这种题目千万不能import numpy,那样会直接判错。
python实现矩阵乘法:
def matxMultiply(A, B):
multiply = []
result = [list(row) for row in zip(*B)]
for Al in range(len(A)):
row =[]
for Bl in range(len(result)):
num = 0
for Br in range(len(result[0])):
num += A[Al][Br] * result[Bl][Br]
row.append(num)
multiply.append(row)
return multiply
x = int(input().strip())
y = int(input().strip())
z = int(input().strip())
a=[]
b=[]
for i in range(x):
arr = list(map(int, input().strip().split()))
a.append(arr)
for i in range(y):
arr = list(map(int, input().strip().split()))
b.append(arr)
c = matxMultiply(a, b)
for sub in c:
print(' '.join(map(str, sub)))