1.反转函数
将数组中的元素从头到尾变成从尾到头
reverse(nums.begin(),nums.end());
2.排序函数
从小到大排序数组中的数
sort(A.begin(),A.end());
3.指针指向新分配的数组内存地址
4.new char表示新分配地址
char *p = new char[n];
5.将数组中n个元素赋值为1
memset(p,'1',n);
6.输出数组中最后一个元素
return nums.back();//一般和2搭配使用,可以求出数组中最大值;
7.删除迭代器指向的元素
nums.erase(nums.begin());
8.容器vector的数组分配大小,并且初始化,无定义时默认为0
b.resize(nums.resize,10);
9.输出容器数组中某个值
return nums[(nums.size()-2)];//这里是倒数第二个
eg:
给定一个数组,将数组向右移动k步,其中k为非负数。
样例
样例 1:
输入: [1,2,3,4,5,6,7], k = 3
输出: [5,6,7,1,2,3,4]
解释:
向右旋转1步: [7,1,2,3,4,5,6]
向右旋转2步: [6,7,1,2,3,4,5]
向右旋转3步: [5,6,7,1,2,3,4]
vector<int> rotate(vector<int> &nums, int k) {
int n=nums.size();
if(n<2||k==0){
return nums;
}
if(k<=n){
reverse(nums.begin(),nums.end()-k);
reverse(nums.end()-k,nums.end());
reverse(nums.begin(),nums.end());
return nums;}
if(k>n){
k=k%n;
reverse(nums.begin(),nums.end()-k);
reverse(nums.end()-k,nums.end());
reverse(nums.begin(),nums.end());
return nums;
}
// Write your code here
}