轮转数组(力扣)

思路一:时间复杂度(往往考虑最坏的情况)为O(n^2)  (最坏情况下 K*M =(N-1)*N)

void rotate(int* nums, int numsSize, int k) 
{   
    //针对k>numsSize的情况
    //思路1,创建一个临时变量,存放要旋转的数组值
    k%=numsSize;
    //表示要旋转多少次
    while(k--)
    {   
        int tmp = nums[numsSize-1];
        //整体数组往后退一个  在尾部往前后退  而不是在首部,否则会出现数组中的数很多一样,重覆盖
        for(int i = numsSize-2;i>=0;i--)
        {
            nums[i+1]=nums[i];
        }
        nums[0]=tmp;
    }
}

思路二:先前n-k个逆置,在后k个逆置,最后整体逆置

//实现数组的逆置
void reverse(int*arr,int left,int right)
{
    while(left<right)
    {
        int tmp=arr[left];
        arr[left]=arr[right];
        arr[right]=tmp;
        left++;
        right--;
    }

}

void rotate(int* nums, int numsSize, int k) 
{       
    k%=numsSize;
    reverse(nums,numsSize-k,numsSize-1);
    reverse(nums,0,numsSize-k-1);
    reverse(nums,0,numsSize-1);
}

相关推荐

  1. 】189.轮转数组

    2024-04-25 14:36:04       42 阅读
  2. 189. 轮转数组

    2024-04-25 14:36:04       25 阅读
  3. 面试150题 | 轮转数组

    2024-04-25 14:36:04       62 阅读
  4. 100】189.轮转数组

    2024-04-25 14:36:04       59 阅读

最近更新

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

    2024-04-25 14:36:04       91 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-04-25 14:36:04       97 阅读
  3. 在Django里面运行非项目文件

    2024-04-25 14:36:04       78 阅读
  4. Python语言-面向对象

    2024-04-25 14:36:04       88 阅读

热门阅读

  1. Python语法糖大全

    2024-04-25 14:36:04       36 阅读
  2. 【docker 】docker-compose 部署mongoDB

    2024-04-25 14:36:04       29 阅读
  3. Swift中TableView的原理

    2024-04-25 14:36:04       28 阅读
  4. Vim的快速入门

    2024-04-25 14:36:04       32 阅读
  5. 爬虫工具-推广-推广链接

    2024-04-25 14:36:04       30 阅读
  6. 面试算法十问(中英文)

    2024-04-25 14:36:04       29 阅读
  7. 装饰器模式

    2024-04-25 14:36:04       32 阅读
  8. 面试算法十问2(中英文)

    2024-04-25 14:36:04       36 阅读
  9. Copula(3)

    2024-04-25 14:36:04       31 阅读
  10. Android 学习 鸿蒙HarmonyOS 4.0 第一天

    2024-04-25 14:36:04       32 阅读
  11. linux 驱动编程笔记

    2024-04-25 14:36:04       31 阅读
  12. vue里面事件修饰符.prevent使用案例

    2024-04-25 14:36:04       33 阅读
  13. leveldb中THREAD_ANNOTATION_ATTRIBUTE__宏的作用

    2024-04-25 14:36:04       35 阅读
  14. 深入解读Dubbo:微服务RPC框架的佼佼者

    2024-04-25 14:36:04       63 阅读
  15. 基于Splinter演示如何使用Chrome WebDriver

    2024-04-25 14:36:04       42 阅读