具有最大子序列大小的序列,每个元素都相同
Sequence with largest size of subsequence having each element as same
本文关键字:元素 更新时间:2023-10-16
我想找出每个元素都等于5的最大连续子序列。
我试着为此编写代码,但无法找到正确的方法
示例->如果序列类似于5 5 1 0 93 43 5 5 5 5 21答案将是4,因为阵列中存在4个连续的5。附言-我是个新手。
int large(int a[],int n)
{
int i=0,j=0,sublen=0;
while(i<n)
{
if(a[i]==1)
{
sublen++;
for(int j=i+1;j<n;j++)
{
if(a[j]==1)
{
sublen++;
}
else
{
i=j+1;
continue;
}
}
}
else
{
i++;
}
}
return sublen;
}
您可以简单地遍历序列,当您看到一个5,然后递增一个计数器,否则将计数器重置为0。当您递增计数器测试以查看它是否是迄今为止保持的最大值时。最后返回最大值。
类似于:
int large(const int *a, int n)
{
int sublen = 0, counter = 0;
for (int i = 0; i < n; ++i) {
if (a[i] == 5) { // found a 5
++counter;
if (sublen < counter) { // test for largest value so far
sublen = counter;
}
} else { // not a 5
counter = 0;
}
}
return sublen;
}
相关文章:
- Mongodb c++驱动程序:如何查询元素的数组
- 将数组作为参数传递给函数安全吗?作为第三方职能部门,可以探索他们想要的之外的其他元素
- 使用strcpy将char数组的元素复制到另一个数组
- 使用不带参数的函数访问结构元素
- 给定n个元素的m个集合.在C++中找到出现在最大集合数中的元素
- C++如何通过用户输入删除列表元素
- lower_bound()返回最后一个元素
- 基于多个条件处理地图中的所有元素
- 调整大小后指向元素值的指针unordered_map有效?
- 使用std::transform将一个范围的元素添加到另一个范围中
- 使用函数"remove"删除重复元素
- 具有最大子序列大小的序列,每个元素都相同
- 如何将两个不同矢量的同一位置的两个元素组合在一起
- 如何将元素添加到数组的线程安全函数?
- 有没有办法将谓词中的元素偏移量传递给 std 算法?
- 我想访问std::unique_ptr中的一个特定元素
- 如何通过 getter 函数删除矢量的元素?
- 向量元素的引用地址与它所指向的向量元素的地址不同.为什么
- 从控制台中删除最后打印的元素
- 擦除while循环中迭代的元素