力扣题解( 最长递增子序列)

300. 最长递增子序列

给你一个整数数组 nums ,找到其中最长严格递增子序列的长度。

子序列 是由数组派生而来的序列,删除(或不删除)数组中的元素而不改变其余元素的顺序。例如,[3,6,2,7] 是数组 [0,3,1,6,2,2,7] 的子序列

规定dp[i]存放包含第i个元素在内的最长递增子序列,则dp[i]可以表示为从(0-i-1)中任何一个dp[j]加上i位置的元素的值(当i位置元素大于j位置元素时),则只需要从(0-i-1)中找出符合元素大小关系且dp[j]最大的dp[j]+1=dp[i]。

class Solution {
public:
    int lengthOfLIS(vector<int>& nums) {
      int n=nums.size();
      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);
             }
          }
      }

      int ret=dp[0];
      for(int i=1;i<n;i++)
      {
        ret=max(ret,dp[i]);
      }
      return ret;

    }
};

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-11 18:06:03       98 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-11 18:06:03       106 阅读
  3. 在Django里面运行非项目文件

    2024-07-11 18:06:03       87 阅读
  4. Python语言-面向对象

    2024-07-11 18:06:03       97 阅读

热门阅读

  1. less和sass有啥区别哪个更加好

    2024-07-11 18:06:03       27 阅读
  2. 7.10飞书一面面经

    2024-07-11 18:06:03       27 阅读
  3. mysql bit 对gorm使用何种类型?

    2024-07-11 18:06:03       31 阅读
  4. python爬虫学习(三十三天)---多线程上篇

    2024-07-11 18:06:03       27 阅读
  5. 一、Python 日志系统设计之不同级别的系统日志

    2024-07-11 18:06:03       26 阅读