大佬们在leetcode的讲解—— 题目

题目描述

小明是蓝桥王国的骑士,他喜欢不断突破自我。

这天蓝桥国王给他安排了 N 个对手,他们的战力值分别为a1​,a2​,...,an​,且按顺序阻挡在小明的前方。对于这些对手小明可以选择挑战,也可以选择避战。

身为高傲的骑士,小明从不走回头路,且只愿意挑战战力值越来越高的对手。

请你算算小明最多会挑战多少名对手。

输入描述

输入第一行包含一个整数 N,表示对手的个数。

第二行包含 NN 个整数 a1​,a2​,...,an​,分别表示对手的战力值。

1≤N≤3×10^5,1≤ai​≤10^9。

输出描述

输出一行整数表示答案。

输入输出样例

示例 1

输入

6
1 4 2 2 5 6

输出

4

运行限制

  • 最大运行时间:1s
  • 最大运行内存: 128M

思路

采用动态规划的方法,dp[i]表示选择nums[i],并且以nums[i]结尾的最长上升子序列的长度。

设计两层循环,i:1~nums.lengthj:0~i,如果nums[i] > nums[j],则构成一个上升对,dp[i]就从dp[i]dp[j]+1两个种选择较大者,最后返回dp数组总的最大数

代码

def lengthOfLIS(nums):if not nums:return 0dp = []for i in range(len(nums)):dp.append(1)for j in range(i):if nums[i] > nums[j]:dp[i] = max(dp[i], dp[j] + 1)return max(dp)n=input()
nums=list(map(int,input().split()))
s=lengthOfLIS(nums)
print(s)

最长上升子序列-python相关推荐

  1. 最长公共子序列Python解法

    给定两个字符串 text1 和 text2,返回这两个字符串的最长 公共子序列 的长度.如果不存在 公共子序列 ,返回 0 . 一个字符串的 子序列 是指这样一个新的字符串:它是由原字符串在不改变字符 ...

  2. 最长递增子序列Python解法

    给你一个整数数组 nums ,找到其中最长严格递增子序列的长度. 子序列是由数组派生而来的序列,删除(或不删除)数组中的元素而不改变其余元素的顺序.例如,[3,6,2,7] 是数组 [0,3,1,6, ...

  3. leetcode 594. 最长和谐子序列python

    题目描述:  题解一: 本来打算用滑动窗口,但题目要求的子序列也不是连续的. 1.先将输入nums按照从小到大排序. 2.用一个dict记录nums中每个数字出现的次数,key为数字,value为出现 ...

  4. 594. 最长和谐子序列--Python

    和谐数组是指一个数组里元素的最大值和最小值之间的差别 正好是 1 . 现在,给你一个整数数组 nums ,请你在所有可能的子序列中找到最长的和谐子序列的长度. 数组的子序列是一个由数组派生出来的序列, ...

  5. LeetCode题解(0594):计算最长和谐子序列(Python)

    题目:原题链接(简单) 解法 时间复杂度 空间复杂度 执行用时 Ans 1 (Python) O(N)O(N)O(N) O(N)O(N)O(N) 368ms (91.63%) Ans 2 (Pytho ...

  6. python 最长公共子序列长度_python实现最长公共子序列

    最长公共子序列python实现,最长公共子序列是动态规划基本题目,下面按照动态规划基本步骤解出来. 1.找出最优解的性质,并刻划其结构特征 序列a共有m个元素,序列b共有n个元素,如果a[m-1]== ...

  7. java实现最长连续子序列_最长公共子序列/最长公共子串 Python/Java实现

    关注我的微信公众号:后端技术漫谈 不定期推送关于后端开发.爬虫.算法题.数据结构方面的原创技术文章,以及生活中的逸闻趣事. 我目前是一名后端开发工程师.主要关注后端开发,数据安全,网络爬虫,物联网,边 ...

  8. 最长子序列和 动态规划python_算法基础之python实现动态规划中数字三角形和最长上升子序列问题...

    数字三角形问题:python 问题描述:函数 问题分析:spa 程序代码:(递归法和动归法)code # -*- coding: utf-8 -*- """ Create ...

  9. Algorithm:C++/python语言实现之求旋转数组最小值、求零子数组、求最长公共子序列和最长公共子串、求LCS与字符串编辑距离

    Algorithm:C++/python语言实现之求旋转数组最小值.求零子数组.求最长公共子序列和最长公共子串.求LCS与字符串编辑距离 目录 一.求旋转数组最小值 1.分析问题 2.解决思路 二.求 ...

最新文章

  1. 用命令行执行ROBOT FRAMEWORK
  2. 如何以可视化方式显示 Angular 应用构建后的 bundle 文件大小
  3. ttc error oracle,ORA-03137: TTC protocol internal error : [12333]错误一例
  4. yum安装ruby_rediscluster安装
  5. object-C控制语句
  6. 内网监控利器——Nagios
  7. 【华为机试】—— 12字符串反转
  8. 联想X1电脑键盘无法输入,外接键盘也无法输入
  9. 数据结构视频教程 -《[猎豹网校]数据结构与算法_Java语言》
  10. java微信开发页面清除缓存,h5清理微信浏览器网页缓存
  11. PDF批量合并拆分并
  12. 在vue3.0中安装并使用echarts
  13. 大脑神经网络图高清,大脑神经网络图片
  14. API监控平台,统一监控系统API
  15. 初生牛犊,希望早日变成大牛!
  16. Android Vold 架构简析
  17. 三点确定圆心和半径(模版)
  18. 《浅谈F5健康检查常用的几种方式》—那些你应该知道的知识(二)
  19. 网络游戏端 零纪元 服务端搭建
  20. 蓝桥杯1——李白打酒加强版

热门文章

  1. html的div修改字体,div字体大小_div内文字大小改变css代码
  2. CMIP6文件名含义详解
  3. Clone from GitHub with Git extension shows: Received HTTP code 407 from proxy after CONNECT(Git 代理)
  4. 单片机音频节奏灯_如何用单片机做出用音乐节奏来控制LED灯?
  5. 闵行区科技小巨人工程申请条件及奖励政策解读
  6. 【华为OD机试 2023最新 】找数字、找等值元素(C++ 100%)
  7. PHP中分页功能的实现
  8. wps怎么免费导出简历_简历模板免费下载wps手机,简历模板免费下载wps可编辑
  9. 安能物流敲定上市发行价:取发售区间下限,工作态度有待改善
  10. 出门问问发布企业级场景的智能交互屏TicKasa Show,适用于多种场景