数学规律 | HJ35 蛇形矩阵
# 最优解(每一行的一个元素为等差数列的累加值) n = int(input().strip()) for i in range(1,n+1) : for j in range(i,n+1) : print(int(((j+j**2)/2)-i+1),end = ' ') print() # 我的代码 while True: try: n = int(input()) # nums = [i for i in range(1, n+1)] res = [[0 for _ in range(n)]for _ in range(n)] cnt = 1 for i in range(n): tmp_i, tmp_j = i, 0 while tmp_i >= 0 and tmp_j < n: res[tmp_i][tmp_j] = cnt cnt += 1 tmp_i -= 1 tmp_j += 1 for row in res: print(' '.join([str(col) for col in row if col!=0])) except: break
用时:30min
华为笔试刷题 文章被收录于专栏
高质量题: 1~40:HJ16,HJ22,HJ24,HJ26,HJ27,HJ28,HJ35,HJ37,HJ39; 40~80:HJ41,HJ42,HJ43,HJ44,HJ48,HJ50,HJ52,HJ53,HJ57,HJ61,HJ63,HJ64,HJ70,HJ71,HJ74,HJ77; 80~108:HJ82,HJ85,HJ88,HJ89,HJ93,HJ95,HJ98,HJ103,HJ107