class Solution {
public:
int maximumLength(vector<int>& nums, int k) {
int res=0;
for(int m=0;m<k;m++){//假设子序列两数%k之后的结果为m 相当于枚举
vector<int> v(k,0);
for(auto num:nums){
v[num%k]=v[(m-num%k+k)%k]+1; //知道m之后可以知道需要的子序列当前数的前一个数的大小 这样就可以接上
}
res=max(res,ranges::max(v));//获取每次枚举后的最大值
}
return res;
}
};
获取vector数组中的最大值、枚举、理解序列传递