
🌈个人主页:羽晨同学
💫个人格言:“成为自己未来的主人~”


首先,我们现在这里提供的是一种特别简单的思路,我们先来看一下这段代码:
void rotate(int* nums, int numsSize, int k) {
k%=numsSize;
int newnum[numsSize];
memcpy(newnum,nums+numsSize-k,sizeof(int)*(k));
memcpy(newnum+k,nums,sizeof(int)*(numsSize-k));
memcpy(nums,newnum,sizeof(int)*(numsSize));
}
我们可以先对后面轮转,再对前面轮转,再整体轮转一次,这样子就可以了。
接下来,我们讲一下另外一种方法:
void Reverse(int*num,int left,int right)
{
while(left<right)
{
int tmp=num[left];
num[left]=num[right];
num[right]=tmp;
left++;
right--;
}
}
void rotate(int* nums, int numsSize, int k)
{
k%=numsSize;
int newnum[numsSize];
Reverse(nums,numsSize-k,numsSize-1);
Reverse(nums,0,numsSize-k-1);
Reverse(nums,0,numsSize-1);
}




![[Modbus] Modbus协议开发-基本概念(一)](https://i-blog.csdnimg.cn/direct/62093e7cf3ea4e75b920bb47a2937d0e.png)



![NSSCTF练习记录:[SWPUCTF 2021 新生赛]jicao](https://i-blog.csdnimg.cn/direct/9728c9e91c384e7dbc1e453b7617a2cc.png)





![[24年新算法]NRBO-XGBoost回归+交叉验证基于牛顿拉夫逊优化算法-XGBoost多变量回归预测](https://img-blog.csdnimg.cn/img_convert/2c06e11df2a3513dbf6ae0ae97d830e7.png)






