Vector是什么?
问chatgpt看看是什么回答?
ChatGPT:
C++中的vector是标准库(STL)提供的一种动态数组容器。它能够在运行时根据需要自动调整大小,并且可以存储不同类型的元素。
使用vector,您可以方便地添加、删除和访问元素,而无需手动处理内存管理。vector提供了一系列成员函数和操作符,使您可以执行常见的操作,如向尾部添加元素、在指定位置插入元素、访问元素等。
要使用vector,首先需要包含头文件 <vector>,然后可以声明一个vector对象并初始化它,例如:
#include <vector>
int main() {
    // 声明一个存储整数的vector
    std::vector<int> myVector;
    // 向vector中添加元素
    myVector.push_back(10);
    myVector.push_back(20);
    myVector.push_back(30);
    // 访问vector中的元素
    int firstElement = myVector[0];
    int secondElement = myVector[1];
    // 输出vector中的元素
    for (int i = 0; i < myVector.size(); ++i) {
        std::cout << myVector[i] << " ";
    }
    return 0;
}在上面的例子中,我们创建了一个用于存储整数的vector对象 myVector,并通过push_back函数依次添加了三个整数。
然后,我们使用索引操作符 [] 访问vector中的元素,并使用循环输出了所有元素。
vector提供了许多其他有用的成员函数,如size()用于获取元素数量,insert()用于在指定位置插入元素,erase()用于删除指定位置或范围内的元素等。您可以在C++标准库文档中查找更多关于vector的信息和用法。
卧槽真实入门人士的福音。
学以致用leedcode每日一题
338. 比特位计数
给你一个整数 n ,对于 0 <= i <= n 中的每个 i ,计算其二进制表示中 1 的个数 ,返回一个长度为 n + 1 的数组 ans 作为答案。
示例 1:
输入:n = 2 输出:[0,1,1] 解释: 0 --> 0 1 --> 1 2 --> 10
示例 2:
输入:n = 5 输出:[0,1,1,2,1,2] 解释: 0 --> 0 1 --> 1 2 --> 10 3 --> 11 4 --> 100 5 --> 101
#include <iostream>
#include <vector>
using namespace std;
class Solution {
public:
	vector<int> countBits(int n) {
		int i = 1;
		vector<int> ans(n + 1);
		for (int i = 0; i <= n; i++) {
			if (i % 2 == 0)
				ans[i] = ans[i / 2];
			else
				ans[i] = ans[i / 2] + 1;
		}
		return ans;
	}
};
int main()
{
	Solution slt;
	vector<int> anss;
	int i;
	cin >> i;
	anss = slt.countBits(i);
	// 使用迭代器 iterator 访问值
	vector<int>::iterator v = anss.begin();
	while (v != anss.end()) {
		cout << "value of v = " << *v << endl;
		v++;
	}
}



















