vector

https://www.bilibili.com/video/av8978464?from=search&seid=3009905431971321322  视频学习推荐


Vector相当于一个一维数组,但是它是一个动态的,即添加数据就把数组的长度增加一个,即不会出现一维数组的数组越界的情况。

所以一般使用Vector时,是用在一个数组不知道其长度的时候。

但其有一个缺点或者优点,即是它可以存在重复的元素,再有需要不重复的元素的要求下,需要特别考虑,如何去掉重复?


例题如下:


其中这道题需要注意的有以下几点:

1.数据长度 长达10的15次方。

2.我们要循环求出这个数所有的约数,但是我们不知道它一共有多长,所以我们用vector。定义方式:vector<数据类型>名称。push_back()插入数据,begin()是vector开始的地方,end()是vector结束的地方,size()是vector的长度。

3.两个if:第一个if的意思是n%i求出其约数,我们不担心数据重复的情况,是因为数据重复的情况下,这个约数就不是我们想找的约数,比如说我们想找的是第三个约数,但是第一个和第二个是重复的,所以我们找的第三个就应该在第四个上。第二个if的意思当n是一个完全平方数的时候,i*i恰好等于n,就相当于i和n/i是重复的,我们就只需要插入一个n/i即可。

4.插入顺序不会是有序的,sort对vector排序。

5.typedef long long ll; 自己定义的一个属于long long型的ll型数据类型。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值