LeetCode 189.轮转数组 三段逆置 C写法

LeetCode 189.轮转数组 C写法 三段逆置

image-20240707131143615

思路:

三段逆置方法:先逆置前n-k个 再逆置后k个 最后整体逆置

由示例1得,需要先逆置1,2,3,4 再逆置5,6,7,最后前n-k个与后k个逆置

image-20240707132017166

代码

void reverse(int*num, int left, int right) //逆置函数
{  
    while(left < right) //left和right同时移动,相遇则逆置完成
    {
        int tmp = num[left];
        num[left] = num[right];
        num[right] = tmp;
        left++;
        right--;
    }
}

void rotate(int* nums, int numsSize, int k) {
    if(k > numsSize) //当k大于numsSize时就说明轮转完了一轮,则数组不变
        k %= numsSize; //余数为新一轮的轮转数
    reverse(nums, 0, numsSize - k - 1); //从0开始,则n-k的位置实际为n-k-1
    reverse(nums, numsSize - k, numsSize - 1); //从n-k开始,实际为后k个的位置
    reverse(nums, 0, numsSize - 1); //整体逆置
}

时间复杂度O(N) 空间复杂度O(1):
image-20240707133133689

相关推荐

  1. Leetcode 189. 轮转数组

    2024-07-11 23:18:05       39 阅读
  2. Leetcode-189.轮转数组

    2024-07-11 23:18:05       37 阅读
  3. [leetcode] 189. 轮转数组

    2024-07-11 23:18:05       39 阅读
  4. Leetcode 189. 轮转数组

    2024-07-11 23:18:05       29 阅读
  5. leetcode-189 轮转数组

    2024-07-11 23:18:05       24 阅读
  6. LeetCode 189.轮转数组

    2024-07-11 23:18:05       36 阅读
  7. LeetCode刷题记录】189. 轮转数组

    2024-07-11 23:18:05       39 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-11 23:18:05       67 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-11 23:18:05       72 阅读
  3. 在Django里面运行非项目文件

    2024-07-11 23:18:05       58 阅读
  4. Python语言-面向对象

    2024-07-11 23:18:05       69 阅读

热门阅读

  1. kubernetes授予用户指定命名空间的使用权限

    2024-07-11 23:18:05       25 阅读
  2. 开发中缓存的使用场景、注意事项及优缺点分析

    2024-07-11 23:18:05       22 阅读
  3. C# 如何单纯的优化循环

    2024-07-11 23:18:05       24 阅读
  4. .Net Core 微服务之Consul(一)

    2024-07-11 23:18:05       20 阅读
  5. YOLO 在OPENCV QT上如何使用?

    2024-07-11 23:18:05       24 阅读
  6. 技术成神之路:设计模式(一)单例模式

    2024-07-11 23:18:05       21 阅读
  7. perl语言入门学习

    2024-07-11 23:18:05       23 阅读
  8. Postman中的数据堡垒:API测试数据隔离的精粹

    2024-07-11 23:18:05       21 阅读
  9. JlmPack在医疗行业的使用

    2024-07-11 23:18:05       18 阅读