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

文章来源:

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

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

相关推荐
lengxuenong几秒前
区间覆盖问题 · 简明学习手册1
java·学习·算法
?abc!2 分钟前
(贪心)621. 任务调度器
java·前端·c#
jason成都3 分钟前
rtklib_java PPP-RTK 收官测试:修复 BDS-2 宽巷失效与异常卫星死循环 Bug
java·gnss·rtklib·rtklib_java
明志数科12 分钟前
人类视频与机器人示教的数据配比:分层训练的数据采购与采集设计
人工智能·算法
Flynn Liang17 分钟前
Spring AI ChatClient 详解:system/user/assistant 角色、call 与 stream 到底怎么选
java·人工智能·spring·springai·流式输出·chatclient·java接入大模型
Wang's Blog19 分钟前
Java 项目实战: 交友项目 - 喜欢与取消喜欢
java·开发语言·交友
Ivanqhz24 分钟前
MoE 原理、TC/EC 路由、LSH-MoE 与负载均衡浅析
运维·网络·人工智能·深度学习·算法·机器学习·负载均衡
Sarvartha27 分钟前
栈的四则运算、栈的递归应用
数据结构·算法
摸鱼仙人~30 分钟前
校招帮简历字段匹配架构分析报告
java·前端·架构
stolentime33 分钟前
CF2277E Tree Guessing题解
c++·算法·贪心算法·交互·ad-hoc