复兴无基础第十九课 时间复杂度、枚举模拟
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;
}
这里空空如也









有帮助,赞一个