子序列问题

1.

class Solution {

public:

int lengthOfLIS(vector<int>& nums) {

int n=nums.size();

vector<int> ret(n,1);

ret0=1;

int a=1;

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

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

if(numsi>numsj) reti=max(retj+1,reti);

a=max(a,reti);

}

};

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(numsi>numsj) fi=max(gj+1,fi);

else if(numsi<numsj) gi=max(fj+1,gi);

}

ret=max(ret,max(fi,gi));

}

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(pairsj1<pairsi0) reti=max(reti,retj+1);

}

r=max(r,reti);

}

return r;

}

};

4.

\

class Solution {

public:

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

unordered_map<int,int> ret;

retarr\[0]=1;

int sum=1;

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

retarr\[i]=retarr\[i-difference]+1;

sum=max(sum,retarr\[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++) hasharr\[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=arrj-arri;

if(a<arri&&hash.count(a)) dpij=dphash\[a]i+1;

ret=max(ret,dpij);

}

}

return ret>=3?ret:0;

}

};

相关推荐
CS创新实验室8 小时前
算法、齿轮与硅基大脑:数值计算发展简史
人工智能·算法·数值计算
海石9 小时前
1563分的简单题,可能就简单在能被暴力AC
算法·leetcode
海石9 小时前
1400分的dp汗流浃背之【交替子数组计数】
算法·leetcode
奋发向前wcx10 小时前
P2590 树的统计 题目解析
数据结构·算法·深度优先
imbackneverdie10 小时前
AI4S不止于分子药物:以MedPeer为代表的科研基建打开产业新增量
大数据·人工智能·算法·aigc·科研·学术·ai 4s
额鹅恶饿呃11 小时前
C语言中的数据结构和变量
c语言·数据结构·算法
运行时记录13 小时前
prompt-optimizer skill
算法
万法若空13 小时前
【数据结构-哈希表】哈希表原理
数据结构·算法·散列表
退休倒计时13 小时前
【每日一题】LeetCode 437. 路径总和 III TypeScript
算法·leetcode·typescript
学逆向的13 小时前
汇编——内存
开发语言·汇编·算法·网络安全