HJ103 题解 | #Redraiment的走法#

Redraiment的走法

https://www.nowcoder.com/practice/24e6243b9f0446b081b1d6d32f2aa3aa

#典型的最长递增子序列问题

#动态规划五部曲-确定dp含义、写出递推公式、初始化、遍历、打印debug

#a[i]表示输入的数,dp[i]表示以a[i]为终点的最长步数

#a[j]遍历a[0]-a[i-1],如果a[j]<a[i],则dp[i]就应该等于当前的dp[i]和dp[j]+1里面的最大值,即dp[i]=max(dp[i],dp[j]+1)

#初始化这里有一点坑,要注意,应该赋值为全1,因为每一个数字最少都有一步


n=int(input())
dp=[1 for i in range(n)]
a=[int(i) for i in input().split()]
for i in range(len(a)):
    for j in range(i):
        if a[j]<a[i]:
            dp[i]=max(dp[j]+1,dp[i])
print(max(dp))

#华为##华为od##华为od机试##华为机试##动态规划#
华为HJ103所有解法 文章被收录于专栏

这是我准备华为od面试的专属专栏,我会把自己的解法更新在里面,我会尽量写清楚自己的思路以及多写关键注释,希望对阅读的人有帮助~~~

全部评论

相关推荐

11-28 16:00
已编辑
武汉理工大学 Java
想干测开的tomca...:这份简历是“短期项目硬堆中大型系统技术”的“技术炫技式造假模板”,槽点密集到能当反面教材: ### 1. 「项目时长」和「技术密度」严重脱节,造假痕迹焊死在简历上 两个项目时长分别是**3个月、2个月**,但堆了Spring AI、Elasticsearch、MinIO、Kafka、ShardingSphere、Docker、Sentinel等近20个中大型项目才用的技术——正常情况下,光把这些中间件的文档看完+环境搭好,3个月都不够,更别说实现“AI多轮对话、分库分表、RBAC权限、大模型调用”这些功能。 说白了:你这不是“做项目”,是把“后端技术栈清单”往项目里硬塞,明摆着“只调用了API,没碰过核心逻辑”。
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

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