python3 非取巧找规律 完整获取杨辉三角变形详解

杨辉三角的变形

http://www.nowcoder.com/questionTerminal/8ef655edf42d4e08b44be4d777edbf43

看来看去大多是找规律的,如果找不到规律就凉凉了,这边完整用二维矩阵构建出杨辉三角变形,然后取最后一行遍历获得结果

while True:
    try:
        n = int(input())
        res = - 1    #初始化结果为-1
        l = [[0]*(2*n+1) for _ in range(n)]    #以n行的长度创建二维矩阵,每行开头插入2个0
        l[0][2] = 1    #第一行起始值为1(因开头插入了两个0,所以第三位为1)
        for x in range(1,n):    #构造完整的杨辉三角矩阵
            for j in range(2,2*(x+2)-1):
                l[x][j] = l[x-1][j-2]+l[x-1][j-1]+l[x-1][j]
        for i in range(len(l[n-1][2:])):    #遍历杨辉三角矩阵最后一行,去掉开始插入的两个0
            if int(l[n-1][2:][i])%2 == 0:    #如果发现偶数,输入下标,并把答案res置为!=-1的值
                print(i+1)
                res = 0
                break
        if res == -1:    #如果前面没有找到偶数,那么res还是初始值,输出即可满足题意
            print(-1)
    except:
        break
全部评论
注意条件`n <= 1000000000`,你这直接卡死了。
2 回复 分享
发布于 2021-08-05 14:53
别用二维数组 直接整两个list就行,一个pre,一个cur
1 回复 分享
发布于 2021-08-29 22:31
我是老实的,一上来老老实实用 nodejs 构建数组,思路通了,oom不通。。。
点赞 回复 分享
发布于 2025-01-16 09:31 广东
暴力破解,卡死+2 from functools import cache @cache def triangle(n:int)->list[int]: res=[] if n==1: return [1] if n==2: return [1,1,1] prev=triangle(n-1) res.append(prev[0]) res.append(sum(prev[0:2])) for i in range(len(prev)-2): res.append(sum(prev[i:i+3])) res.append(sum(prev[-2:])) res.append(prev[-1]) return res while True: try: n=int(input()) for i,e in enumerate(triangle(n)): if e%2==0: print(i+1) break else: print(-1) except: break
点赞 回复 分享
发布于 2024-10-06 16:13 上海
如果强行求的话,可以只求每一行的前四个元素即可,这里定有偶
点赞 回复 分享
发布于 2024-06-27 16:15 河南
但是构造杨辉三角的思路还是很好的!
点赞 回复 分享
发布于 2024-02-28 18:35 广东
看时间复杂度O(N**2)就知道要超时的,做题前肯定要看的,不要浪费那个时间去试。
点赞 回复 分享
发布于 2023-08-25 17:58 北京
二维数组和一维数组的都试过了,结果二维的超内存,一维的超时间
点赞 回复 分享
发布于 2022-08-16 20:02
只用了当前矩阵和copy当前矩阵作为上一个矩阵,并且只取了一边,防止爆内存和加快运算,然鹅在n=10000时还是超时了。最后老老实实看解析找规律
点赞 回复 分享
发布于 2022-08-07 11:07
超时
点赞 回复 分享
发布于 2022-05-21 10:46
构建完整的会超内存的
点赞 回复 分享
发布于 2022-05-18 11:46
java 的二维矩阵尝试过,11个用例中有一个边界用例(极大值)通不过,报内存溢出。或许改用List存储可行,毕竟List不需要物理上连续的内存空间
点赞 回复 分享
发布于 2022-03-05 16:23
内存超标了
点赞 回复 分享
发布于 2022-02-28 22:32
这样性能太低了,而且当n很大时会爆内存,非常卡
点赞 回复 分享
发布于 2022-02-17 14:48

相关推荐

有很多问题,求大佬们解答,谢谢大佬们:不知道现在该怎么投实习,该怎么准备内心很纠结学校课程和实习到底怎么选择,&nbsp;自己也不想课程学业这边出问题,&nbsp;是不是只能投暑期实习,具体时间该怎么安排前端面试也需要准备算法么,&nbsp;自己的算法能力很薄弱,&nbsp;面试题需要准备到什么程度?没有ai项目经验的话,我该如何去补充,如何去找好的ai项目
smile丶snow:1.简历尽量一页,比如教育经历那里,全日制,计算机学院这些可以去掉没啥用好浪费空间。 熟悉三件套就没必要写了吧。js基本上是这样写 * JavaScript核心:深入理解 JS 运行机制(事件循环 Event Loop、微任务/宏任务),熟练掌握 Promise/Async 异步编程 模型。 熟悉可以改成熟练掌握。组件库写一个ant感觉就行,多写了浪费空间。 旅游项目是不是jonas的natours啊,我之前简历也有这个。我之前是这样写的 全栈思维: 熟悉 Node.js/Express 后端架构,掌握 MongoDB 数据库设计与聚合查询 工程化我觉得还是少些吧,不写就问的少,如果你真的了解的话可以写。 1.实习的话推荐大厂官网和aoob上面投,我自己有写一个校招网站的小网站可以直达~github主页上面有,顺便求个关注( 2.大三下一般课程比较少了吧,如果学校比较严的话可以多沉淀一会,如果不太严可以请dai课然后去实习,尽量找个近一些的就行。暑期实习不是暑假才实习哦,基本是上3月底4月初发offer就可以过去了,然后大概暑假的时候走转正流程答辩。 3.大厂算法题+js手写体。hot100+常见的比如数组转树,Promise.all,deepClone,之类 js手写都不难其实。算法看自己能力吧,我其实算法能力也不行。 4.自己平时没有用AI Coding吗?自己想一下怎么让AI帮你更好的写代码~比如Skill的诞生,OpenSpec的诞生,不都是我们想让AI更好帮我们写代码吗。
我的实习日记
点赞 评论 收藏
分享
03-24 17:57
门头沟学院 Java
yakuso:你这头像哈哈哈
点赞 评论 收藏
分享
评论
30
8
分享

创作者周榜

更多
正在热议
更多
# 一张图晒出你司的标语 #
4401次浏览 77人参与
# 找AI工作可以去哪些公司? #
9509次浏览 255人参与
# 开放七大实习专项,百度暑期实习值得冲吗 #
15486次浏览 223人参与
# 你的实习产出是真实的还是包装的? #
20514次浏览 343人参与
# AI面会问哪些问题? #
28438次浏览 572人参与
# 春招至今,你的战绩如何? #
66746次浏览 588人参与
# 米连集团26产品管培生项目 #
13430次浏览 285人参与
# 从事AI岗需要掌握哪些技术栈? #
9382次浏览 329人参与
# 中国电信笔试 #
32126次浏览 295人参与
# 你做过最难的笔试是哪家公司 #
34705次浏览 253人参与
# 投递几十家公司,到现在0offer,大家都一样吗 #
341033次浏览 2175人参与
# 金三银四,你的春招进行到哪个阶段了? #
22379次浏览 284人参与
# 同bg的你秋招战况如何? #
212250次浏览 1121人参与
# 哪些公司真双非友好? #
69755次浏览 289人参与
# 如何准备秋招 #
78315次浏览 868人参与
# 阿里笔试 #
179152次浏览 1318人参与
# 机械人避雷的岗位/公司 #
62713次浏览 393人参与
# 小马智行求职进展汇总 #
25149次浏览 80人参与
# 第一份工作一定要去大厂吗 #
14992次浏览 122人参与
# 担心入职之后被发现很菜怎么办 #
291406次浏览 1210人参与
# 为了减少AI幻觉,你注入过哪些设定? #
26297次浏览 310人参与
# 应届生第一份工资要多少合适 #
20707次浏览 86人参与
牛客网
牛客网在线编程
牛客网题解
牛客企业服务