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++;
}
}