#include <vector> class Solution { public: int LIS(vector<int>& arr) { //先初始化一个dp数组代表到该点中最长递增子序列的长度 //dp中的每个元素初始化为1 //依次进行比较 int n = arr.size(); if(n == 1)return 1; if(n == 0) return 0; vector<int> dp(n, 1); int m = 1; for(int i = 1; i < n; i++){ for(int j = 0; j < i; j++){ if(arr[i] > arr[j]) { dp[i] = max(dp[i], dp[j] + 1); } } if(dp[i] > m)m = dp[i]; } return m; } };