数学规律 | 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

全部评论

相关推荐

白火同学:先说结论,对于一份实习简历来说,整体还是挺不错的,技术深度和广度都到位,找到一份中小厂的实习没啥问题。 再说说能优化的点吧。 1、量化结果,项目中很多工作量化一下结果给面试官的感受会更直观一些,也能体现你对应用该项技术的理解(在众多技术为什么要用它,运行性能或者说开发效率往往是一大考虑指标;而不是说大家做这种功能都用它,所以我用它)。 2、突出亮点,项目中可以从“工作职责”择一些“个人亮点”另写一块,优先去写开发过程中遇到的xx问题,使用xx技术达到xx效果,针对性去写一些疑杂难的功能,能带出你个人思考和解决的过程。
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务