算法:轮转数组---循环取模运算

文章来源:

https://blog.csdn.net/weixin_45630258/article/details/132729961

欢迎各位大佬指点、三连

1、题目:

给定一个整数数组 nums,将数组中的元素向右轮转 k 个位置,其中 k 是非负数。

2、分析特点:

  • 轮转 ==> 取模运算

  • 我们可以使用额外的数组来将每个元素放至正确的位置。用 n 表示数组的长度,我们遍历原数组,将原数组下标为 i 的元素放至新数组下标为 (i+k) mod n 的位置,最后将新数组拷贝至原数组即可。

3、代码:

4、复杂度分析:

  • 时间复杂度: O(n),其中 n 为数组的长度。
  • 空间复杂度: O(n)。

5、总结:

轮转、循环 k 步,要想到取模运算,另外需要一个新数组作为结果数组是因为如果我们不使用额外数组,我们直接将每个数字放至它最后的位置,这样被放置位置的元素会被覆盖从而丢失,所以需要一个新数组作为结果数组,最后拷贝回去原数组。

如果本文对你有帮助的话记得给一乐点个赞哦,感谢!

相关推荐
未来之窗软件服务21 分钟前
自己写算法(九)网页数字动画函数——东方仙盟化神期
前端·javascript·算法·仙盟创梦ide·东方仙盟·东方仙盟算法
程序员小凯22 分钟前
Spring Boot测试框架详解
java·spring boot·后端
路由侠内网穿透23 分钟前
本地部署开源持续集成和持续部署系统 Woodpecker CI 并实现外部访问
服务器·网络·windows·ci/cd·开源
豐儀麟阁贵28 分钟前
基本数据类型
java·算法
_extraordinary_1 小时前
Java SpringMVC(二) --- 响应,综合性练习
java·开发语言
CsharpDev-奶豆哥1 小时前
ASP.NET中for和foreach使用指南
windows·microsoft·c#·asp.net·.net
程序员 Harry1 小时前
深度解析:使用ZIP流式读取大型PPTX文件的最佳实践
java
wxweven2 小时前
校招面试官揭秘:我们到底在寻找什么样的技术人才?
java·面试·校招
乐迪信息2 小时前
乐迪信息:基于AI算法的煤矿作业人员安全规范智能监测与预警系统
大数据·人工智能·算法·安全·视觉检测·推荐算法
陈陈爱java2 小时前
新知识点背诵
java