#include <stdio.h>
void rotate(int* nums, int numsSize, int k){
int *p
=(int *)malloc(sizeof(int)*k
); int i=0;
//将前k个数复制到新建的数组中
for(;i<k;i++)
p[i]=nums[numsSize-k+i];
for(i=0;i<k;i++)
//将前面的数据往后移动
for(i=numsSize-1-k;i>=0;i--)
nums[numsSize-1-k+i]=nums[i];
for(i=0;i<numsSize;i++)
for(i=0;i<k;i++)
nums[i]=p[i];
//free(p);
// p=NULL;
}
int main(void) {
// your code goes here
int nums[8]={1,2,3,4,5,6,7,8};
rotate(nums,8,3);
int i=0;
for(i=0;i<8;i++)
return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+Cgp2b2lkIHJvdGF0ZShpbnQqIG51bXMsIGludCBudW1zU2l6ZSwgaW50IGspewogICAgCiAgICBpbnQgKnA9KGludCAqKW1hbGxvYyhzaXplb2YoaW50KSprKTsKICAgIGludCBpPTA7CiAgICAvL+WwhuWJjWvkuKrmlbDlpI3liLbliLDmlrDlu7rnmoTmlbDnu4TkuK0KICAgIGZvcig7aTxrO2krKykKICAgICAgICBwW2ldPW51bXNbbnVtc1NpemUtaytpXTsKICAgIAogICAgCWZvcihpPTA7aTxrO2krKykKCQlwcmludGYoIiVkICIscFtpXSk7CgkJcHV0cygiIik7CiAgICAKICAgIC8v5bCG5YmN6Z2i55qE5pWw5o2u5b6A5ZCO56e75YqoCiAgICBmb3IoaT1udW1zU2l6ZS0xLWs7aT49MDtpLS0pCiAgICAgICAgbnVtc1tudW1zU2l6ZS0xLWsraV09bnVtc1tpXTsKICAgIAogICAgZm9yKGk9MDtpPG51bXNTaXplO2krKykKCQlwcmludGYoIiVkICIsbnVtc1tpXSk7CgkJcHV0cygiIik7CiAgICAKICAgIGZvcihpPTA7aTxrO2krKykKICAgICAgICBudW1zW2ldPXBbaV07CiAgICAgCiAgICAvL2ZyZWUocCk7CiAgIC8vIHA9TlVMTDsKfQoKCmludCBtYWluKHZvaWQpIHsKCS8vIHlvdXIgY29kZSBnb2VzIGhlcmUKCWludCBudW1zWzhdPXsxLDIsMyw0LDUsNiw3LDh9OwoJcm90YXRlKG51bXMsOCwzKTsKCQoJaW50IGk9MDsKCWZvcihpPTA7aTw4O2krKykKCQlwcmludGYoIiVkICIsbnVtc1tpXSk7CgkKCQoJCglyZXR1cm4gMDsKfQo=