当前位置: 首页 > news >正文

网站架构设计面试技巧如何制作班级网站

网站架构设计面试技巧,如何制作班级网站,wordpress模板代码分析,国际近期新闻300. 最长递增子序列https://leetcode.cn/problems/longest-increasing-subsequence/description/ 给你一个整数数组nums,找到其中最长严格递增子序列的长度。子序列是由数组派生而来的序列,删除(或不删除)数组中的元素而不改变其…

300. 最长递增子序列icon-default.png?t=N7T8https://leetcode.cn/problems/longest-increasing-subsequence/description/

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

  1. 输入:nums = [10,9,2,5,3,7,101,18],输出:4,解释:最长递增子序列是[2,3,7,101],因此长度为4。
  2. 输入:nums = [0,1,0,3,2,3],输出:4。
  3. 输入:nums = [7,7,7,7,7,7,7],输出:1。

提示:1 <= nums.length <= 2500,-10^4 <= nums[i] <= 10^4。

进阶:你能将算法的时间复杂度降低到O(nlog(n))吗?


我们用动态规划的思想来解决这个问题。

确定状态表示:根据经验和题目要求,我们用dp[i]表示:以i位置为结尾的所有子序列中,最长递增子序列的长度

推导状态转移方程:以i位置为结尾的所有子序列分为2类:长度为1的子序列,长度大于1的子序列。如果子序列的长度是1,那么这个子序列是递增子序列。下面我们考虑长度大于1的子序列。

如果以i位置为结尾的子序列的长度大于1,我们可以继续细分为:i位置元素的前面是i - 1位置元素的子序列,i位置元素的前面是i - 2位置元素的子序列,i位置元素的前面是i - 3位置元素的子序列,……,i位置元素的前面是0位置元素的子序列。也就是说,如果子序列中,i位置元素的前面是j位置元素,那么j的范围是[0, i - 1]。

对于每一个j,如果nums[j] < nums[i],那么这个子序列就有可能是递增子序列。要想这个子序列尽可能得长,就要找到以j位置为结尾的最长递增子序列,在这个子序列后面添加nums[i],即为以i位置为结尾的最长递增子序列。

综上所述,dp[i]应该取:「1」和「所有满足0 <= j < i并且nums[j] < nums[i]的j中,最大的dp[j]加1」的较大值。

所以,我们可以把dp表的值都初始化为1,其中dp[0] = 1是显然的。如果i > 0,那么dp[i]就应该取:所有满足0 <= j < i并且nums[j] < nums[i]的j中,最大的dp[j]加1

填表顺序:根据状态转移方程,显然应从左往右填表

返回值:根据状态表示,应返回dp表的最大值

细节问题:dp表的规模和nums相同,均为1 x n

class Solution {
public:int lengthOfLIS(vector<int>& nums) {int n = nums.size();// 创建dp表vector<int> dp(n, 1);// 填表for (int i = 1; i < n; i++) {for (int j = 0; j < i; j++) {if (nums[j] < nums[i]) {dp[i] = max(dp[i], dp[j] + 1);}}}return *max_element(dp.begin(), dp.end());}
};
http://www.yayakq.cn/news/289397/

相关文章:

  • 什么叫手机网站好用的a站
  • 张家港外贸型网站制作php网站程序怎么安装
  • 网站域名怎么查南宁做网站找哪家公司
  • 一个网站两个域名吗wordpress搬家lnmp
  • 网站建设 有必要吗建设网站比较好
  • 微信公众号视频网站开发千锋教育学费一览表
  • 网站的现状响水县住房建设局网站
  • h5网站是什么意思网站整站html
  • 哈尔滨网站专业制作网页框架结构有哪些
  • 住房建设厅网站家教网站建设
  • php网站开发事例网站用户运营
  • 肥城网站建设价格python开发app
  • 制造网站的软件中国建设银行掌上银行官方网站
  • 成都智能建站模板公司起名字大全免费好听
  • 卖鱼的亲戚要我帮忙做网站六安网站制作金狮
  • 阳谷网站开发东莞有多少个镇
  • 安康网站建设公司辽宁省住房和城乡建设厅网站
  • 柳州市建设投资开发公司网站做商城网站要请程序员吗
  • 创建建站分销系统设计
  • 建立电子商务网站如何把网站做好
  • 石家庄兼职做网站做钢管的去什么网站发信息
  • 邳州建设局网站网站建设最低要求
  • 加强政务公开与网站建设如何优化网站性能
  • 广东网站定制wordpress只能传2m
  • 网站开发 工作量网站建设目标计划书
  • 本地的响应式网站建设抖音代运营服务方案
  • 网站建设概况兰州网站建站
  • wordpress建设的是模板网站吗上海大公司排名
  • 南通优普网站建设水果网站开发所需的成本
  • 饲料行业建设网站方案设计免费下载ppt12380举报网站建设经验