复兴无基础第十九课 时间复杂度、枚举模拟
2025-10-18 20:23:24
发布于:上海
T1【vector】遍历
#include <iostream>
#include <vector>
using namespace std;
int main()
{
//1、定义vector容器和变量n
vector<int> ve;
int n;
//2、输入n
cin >> n;
//3、输入n个数,存入vector容器里面
for (int i = 0; i < n; i++)
{
int x;
cin >> x;
ve.push_back(x);
}
//4、输出
for (int i = 0; i < ve.size(); i++)
{
cout << ve[i] << " ";
}
return 0;
}
T2【vector】逆序遍历
#include <iostream>
#include <vector>
using namespace std;
int main()
{
//1、定义vector容器和变量n
vector<int> ve;
int n;
//2、输入n
cin >> n;
//3、输入n个数,存入vector容器里面
for (int i = 0; i < n; i++)
{
int x;
cin >> x;
ve.push_back(x);
}
//4、求容量大小,逆序遍历输出
int len = ve.size() - 1;
for (int i = len; i >= 0; i--)
{
cout << ve[i] << " ";
}
return 0;
}
T3【vector】上升
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
int main()
{
//1、定义 vector 容器和变量 n
vector<int> ve;
int n;
//2、输入 n
cin >> n;
//3、输入 n 个数,存入 vector 容器里面
for (int i = 0; i < n; i++)
{
int x;
cin >> x;
ve.push_back(x);
}
//4、排序
sort(ve.begin(), ve.end());
//5、判断相邻的两个数是否相同,然后标记
bool flag = false;
for (int i = 1; i < ve.size(); i++)
{
if (ve[i] == ve[i - 1])
{
flag = true;
break;
}
}
//6、根据标记,输出答案
if (flag)
cout << "NO";
else
cout << "YES";
return 0;
}
T4【vector】约数表
#include <iostream>
#include <vector>
using namespace std;
int main()
{
//1、定义 vector 数组和变量 n
vector<int> ve[109];
int n;
//2、输入变量n
cin >> n;
//3、求 1~n 每个数的约数
for (int i = 1; i <= n; i++)
{
//3.1、求 i 的约数,遍历 1~i 所有的整数j,看是否满足 i%j==0
for (int j = 1; j <= i; j++)
{
//3.2、对于满足 i%j==0 的 j,把 j 存入编号为 i 的 vector 容器里面
if (i % j == 0)
ve[i].push_back(j);
}
}
//4、遍历每一个 vector 容器,依次输出
for (int i = 1; i <= n; i++)
{
for (int j = 0; j < ve[i].size(); j++)
{
cout << ve[i][j] << " ";
}
cout << '\n';
}
return 0;
}
这里空空如也
有帮助,赞一个