必对题解·【向量】加加减减
2026-06-29 11:11:52
发布于:天津
8阅读
0回复
0点赞
这题很简单,可以说学过vector的都会 才怪
一、思路💡
这道题我们可以用一个动态数组做 这样简单,不会的快去学废了 ,这里我们用到一个函数(不知道到底叫不叫函数)——resize。具体用法如下:
动态数组名.resize(数字或变量记做num)//这个用于将数组的长度改为num,比原来长度短则删除(从后往前删),比原来长则添加数据(用默认值补齐)
动态数组名.resize(数字或变量记做num,new_num/*new_num表示如果num比原来数组的长度的长,则用new_num这个数补齐*/)//这个用于将数组的长度改为num
相信说到这你一定有一点思路了,先自己尝试一下,再接着往下看吧!
试完了,继续往下看代码
二、代码🖥️
#include<bits/stdc++.h>
using namespace std;
int main(){
int n;
cin>>n;
vector<int> a(1,0);//初始化
for(int i=1;i<=n;i++){
char z;
cin>>z;
if(z=='I'){
int t;
cin>>t;
a.resize(a.size()+1,t);//输入为I则将数组长度改为原来长度+1(用t补齐)
}else if(z=='O'){
a.resize(a.size()-1);//输入为O则删除最后一个数据(将数组长度改为原来长度-1)
}
}
for(int i=1;i<a.size();i++)cout<<a[i]<<' ';
return 0;
}
这里空空如也








有帮助,赞一个