学习时间:
2023年1月22日
题目描述:
![](https://i-blog.csdnimg.cn/blog_migrate/f7c22ef3294c63221eb3e702a80eb905.png)
题解分享:
// 作 者 : 繁 华 倾 夏
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
// 力扣(LeetCode):189. 轮转数组
// nums:数组 numsSize:数组长度 k:转动步数
void rotate(int* nums, int numsSize, int k) {
int newnums[numsSize]; // 使用新数组存储数据
for (int i = 0; i < numsSize; i++) { // 遍历数组
newnums[(i + k) % numsSize] = nums[i]; // 利用数学公式推导简算公式
}
for (int i = 0; i < numsSize; i++) { // 将新数组的数据赋给原来的数组
nums[i] = newnums[i]; // 返回原来数组的数据
}
}
// 测试用例
// 输入 nums = [1, 2, 3, 4, 5, 6, 7], k = 3
// 输出 [5, 6, 7, 1, 2, 3, 4]
int main() {
int nums[] = { 1, 2, 3, 4, 5, 6, 7 };
int numsSize = sizeof(nums) / sizeof(nums[0]);
int k = 3;
rotate(nums, numsSize, k);
for (int i = 0; i < numsSize; i++) {
printf("%d ", nums[i]);
}
return 0;
}
【繁华倾夏】【每日力扣题解分享】【Day8】