子序列问题

1.

class Solution {

public:

int lengthOfLIS(vector<int>& nums) {

int n=nums.size();

vector<int> ret(n,1);

ret[0]=1;

int a=1;

for(int i=1;i<n;i++){

for(int j=0;j<i;j++){

if(nums[i]>nums[j]) ret[i]=max(ret[j]+1,ret[i]);

a=max(a,ret[i]);

}

};

return a;

}

};

2.

class Solution {

public:

int wiggleMaxLength(vector<int>& nums) {

int n=nums.size();

vector<int> f(n,1);

auto g=f;

int ret=1;

for(int i=1;i<n;i++){

for(int j=0;j<i;j++){

if(nums[i]>nums[j]) f[i]=max(g[j]+1,f[i]);

else if(nums[i]<nums[j]) g[i]=max(f[j]+1,g[i]);

}

ret=max(ret,max(f[i],g[i]));

}

return ret;

}

};

class Solution {

public:

int findLongestChain(vector<vector<int>>& pairs) {

sort(pairs.begin(),pairs.end());

int n=pairs.size();

vector<int> ret(n,1);

int r=1;

for(int i=1;i<n;i++){

for(int j=0;j<i;j++){

if(pairs[j][1]<pairs[i][0]) ret[i]=max(ret[i],ret[j]+1);

}

r=max(r,ret[i]);

}

return r;

}

};

4.

\

class Solution {

public:

int longestSubsequence(vector<int>& arr, int difference) {

unordered_map<int,int> ret;

ret[arr[0]]=1;

int sum=1;

for(int i=1;i<arr.size();i++){

ret[arr[i]]=ret[arr[i]-difference]+1;

sum=max(sum,ret[arr[i]]);

}

return sum;

}

};

5.

class Solution {

public:

int lenLongestFibSubseq(vector<int>& arr) {

int n=arr.size();

unordered_map<int,int> hash;

for(int i=0;i<n;i++) hash[arr[i]]=i;

vector<vector<int>> dp(n,vector<int>(n,2));

int ret=2;

for(int j=2;j<n;j++){

for(int i=1;j>i;i++){

int a=arr[j]-arr[i];

if(a<arr[i]&&hash.count(a)) dp[i][j]=dp[hash[a]][i]+1;

ret=max(ret,dp[i][j]);

}

}

return ret>=3?ret:0;

}

};

相关推荐
DeniuHe2 小时前
线性回归与逻辑回归:同为凸函数,为何一个有解析解、一个没有?
算法·机器学习·逻辑回归
披着羊皮不是狼2 小时前
基于CNN的图像检测算法
人工智能·算法·cnn
程序员小崔日记2 小时前
我参加了第十七届蓝桥杯 Java B 组省赛,这套题你能撑到第几题?
java·算法·蓝桥杯大赛
6Hzlia2 小时前
【Hot 100 刷题计划】 LeetCode 1143. 最长公共子序列 | C++ 二维DP 与 哨兵技巧
c++·算法·leetcode
Allen_LVyingbo2 小时前
《狄拉克符号法50讲》习题与解析(下)
算法·决策树·机器学习·健康医疗·量子计算
豆沙糕2 小时前
大模型面试高频题:请详细讲解检索中的BM25算法
人工智能·算法
不才小强2 小时前
查找算法详解:二分查找
数据结构·算法
君义_noip2 小时前
信息学奥赛一本通 4164:【GESP2512七级】学习小组 | 洛谷 P14922 [GESP202512 七级] 学习小组
学习·算法·动态规划·gesp·信息学奥赛
MicroTech20252 小时前
微算法科技(NASDAQ :MLGO)面向区块链的系统的高效反量子晶格盲签名技术
科技·算法·区块链