gpt4 book ai didi

c++ - 如何打印数组的所有连续子数组

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:15:22 25 4
gpt4 key购买 nike

我正在研究一些算法,我想找到数组的连续子数组。

例如,如果我的输入数组如下,

vector<int> nums = {1, 2, 2, 3, 1}

我想得到如下的输出 vector ,

vector<vector<int>> output;
//Output should contain {1, 2, 2, 3, 1}, {1, 2, 2, 3}, {2, 2, 3, 1},
//{1, 2, 2}, {2, 2, 3}, {2, 3, 1},{1, 2}, {2, 2},
//{2, 3}, {3, 1}, {1}, {2}, {2}, {3}, {1}

最佳答案

我刚刚弄明白了算法,如下图所示,

vector<vector<int>> Solution::sliceArray(vector<int> vect)
{
vector< vector<int> > listOfVect;
for (size_t i = 0; i < vect.size(); i++)
{
for (size_t j = 0; j <= i; j++)
{
vector<int> indVect(vect.size() -i );
copy(vect.begin() + j , vect.end() - i + j , indVect.begin());
listOfVect.push_back(indVect);
}
}
return listOfVect;
}

关于c++ - 如何打印数组的所有连续子数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47587218/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com